一.多线程第一种方式的实现步骤(继承Thread类)

  代码演示:

    1.定义MyThread类,继承Thread类

    2.重写了里面的run方法,在run方法中定义线程要执行的任务

public class MyThread extends Thread{
@Override
public void run() { //run方法内是子线程要执行的代码
for(int i = 1; i <= 100; i++) {
System.out.println("HelloJava:" + i);
}
}
}

    3.创建Thread子类对象

    4.调用子类对象的start方法,启动线程

public class Demo01Thread {
public static void main(String[] args) {
System.out.println("main...start");
//创建Thread子类对象
MyThread mt = new MyThread();
//调用start方法启动线程
mt.start(); System.out.println("main....end");
}
}

    上面两块代码,会开启子线程,并运行子线程中的run方法

二.Thread中的常见方法:  

  构造方法:  

    public Thread(String name): 传递一个线程的名字

  成员方法:

    void setName(String name): 给线程设置名字

    String getName(): 获取线程的名字

    (重要) static Thread currentThread(): 获取当前正在运行的线程

    (重要) static void sleep(long mills): 线程休眠,参数为休眠的时间,单位是毫秒

  代码演示部分Thread方法:

    1.创建MyThreadMethod类继承Thread类,并重写内部run方法

public class MyThreadMethod extends Thread{
public MyThreadMethod() {} public MyThreadMethod(String name) {
super(name); //调用父类一个参数是字符串的构造方法,将线程名字进行传递。
} //在run方法中定义线程要执行的任务
@Override
public void run() {
//setName("旺财");
System.out.println("新线程执行了");
//MyThreadMethod 是Thread的子类,所以在这个方法中能够直接调用getName获取线程的名字。
System.out.println("新线程的名字是:" + getName());
}
}

    2.演示方法currentThread方法和getName方法

public class Demo02ThreadMethod {
public static void main(String[] args) {
//创建Thread子类对象,并且运行这个线程
MyThreadMethod mtm = new MyThreadMethod("如花"); //mtm.setName("狗蛋"); mtm.start(); //获取main线程的名字
//获取当前正在运行的线程对象,再通过这个线程对象调用getName方法,获取线程名字
//这个currentThread方法是由哪个线程执行的,那么获取到的就是哪个线程对象。
Thread t = Thread.currentThread();
System.out.println("main线程的名字是:" + t.getName()); }
}

  上面代码运行结果是:

    新线程执行了
    新线程的名字是:如花
    main线程的名字是:main

    

    

多线程之 Thread类的更多相关文章

  1. (转)多线程——继承Thread 类和实现Runnable 接口的区别

    java中我们想要实现多线程常用的有两种方法,继承Thread 类和实现Runnable 接口,有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 首先,java只能单继承,因此 ...

  2. 多线程:Thread类的Join()方法

    多线程:Thread类的Join()方法 http://blog.163.com/hc_ranxu/blog/static/3672318220095284513678/ 当我们在线程B中调用Thre ...

  3. Java多线程01(Thread类、线程创建、线程池)

    Java多线程(Thread类.线程创建.线程池) 第一章 多线程 1.1 多线程介绍 1.1.1 基本概念 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于 ...

  4. Java中实现多线程继承Thread类与实现Runnable接口的区别

    Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 在实际应用中, ...

  5. 多线程——继承Thread类实现一个多线程

    继承Thread类实现一个多线程 Thread类部分源码: package java.lang; //该类实现了Runnable接口 public class Thread implements Ru ...

  6. Java 多线程 (Thread 类)

    1.多线程 2.卖票 1.多线程实现 两种方式可以实现多线程: 继承 Thread 类,重写 run 方法:定义对象,调用 start 方法 创建类实现 Runnable 接口,作为实参传递给 thr ...

  7. Java 多线程之 Thread 类 和 Runnable 接口初步使用

    目录 Thread 类 Thread之定义线程类 Thread之开启线程 Runnable 接口 Runnable 之定义线程类 Runnable 之开启线程 @ Thread 类 Thread 类是 ...

  8. 多线程, Thread类,Runnable接口

    多线程 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. 单线程程序:即,若有多个任务只能依次执 ...

  9. java多线程技能-使用多线程-继承Thread类

    /* 使用多线程可通过继承Thread类或实现Runnable接口. Thread和Runnable的关系:public class Thread implements Runnable. 使用thr ...

随机推荐

  1. Django模板语言

    day66 2018-05-08 1. 内容回顾 1. 模板系统(字符串替换) 1. 语法 1. 变量相关: {{ name }},{{name|length}},{{name|default:&qu ...

  2. The application to execute does not exist: 'C:\Users\Administrator\.dotnet\tools\.store\dotnet-aspnet-codegenerator\2.2.0-rtm-35687\dotnet-aspnet-codegenerator\2.2.0-rtm-35687\tools\netcoreapp2.1\any\

    vs code mvc搭建基架执行命令操作出现的问题解决方式重新复制拷贝一份2.2.0命名为2.2.0-rtm-35687, 修改

  3. 【Git】Git使用记录: 基于git ignore文件将remote上的文件untrack

    话不多说直接上步骤: git bash直接干到你的code. 直接敲命令: git rm -r --cached . rm是remove 命令 -r将允许递归删除 -cached只会从索引中删除文件. ...

  4. Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)

    整理了一下网易云歌曲评论抓取.分析好友信息抓取.淘宝宝贝抓取.今日头条美图抓取的一些代码 抓取网易云评论 进入歌曲界面: http://music.163.com/#/song?id=45318582 ...

  5. Windows 环境下进行的jenkins持续集成

    一台服务器作为代码仓库,一条服务器做持续集成代码仓库目前常见的github.gitlab.gitee持续集成常用Jenkins 服务器的配置这边都以Windows为例进行介绍 1. 安装Jenkins ...

  6. 上传图片组件封装 element ui

    // element ui 文档地址: http://element.eleme.io/#/zh-CN <template> <div> <div class=" ...

  7. lua 5.3.5 安装/初体验

    安装 官网http://www.lua.org/start.html 参考  https://blog.csdn.net/qq_23954569/article/details/70879672 cd ...

  8. kubernetes1.13.5安装部署

    Kubernetes 一.    Kubernetes介绍 各节点所需组件 Master:docker,kubeadm,kubelet, 组件 版本 备注 Kubelet 1.13.5 组件 Kube ...

  9. [Linux]ubuntu安装基本流程

    ubuntu安装基本流程 1.设置分辨率2.设置语言环境3.设置服务器镜像源4.添加终端5.apt.apt-get更新和升级系统软件 sudo apt update/upgrade sudo apt- ...

  10. python标准库总的random函数用法

    Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等.random中的一些重要函数的用法:1 ).random() 返回0& ...