一.多线程第一种方式的实现步骤(继承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. Web 端异步下载文件

    Web 端异步下载文件 实现文件异步下载: 在服务端无法返回文件,或发生异常时给予提示. JavaScript: 服务端返回的JSON对象形如: { code:200, msg:'下载成功|未找到指定 ...

  2. HDU 1024 Max Sum Plus Plus【DP】

    Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we ...

  3. bug日记之-------java.io.IOException: Server returned HTTP response code: 400 for URL

    报的错误 出事代码 出事原因 解决方案 总结 多看源码, 我上面的实现方式并不好, 如果返回的响应编码为400以下却又不是200的情况下getErrorStream会返回null, 所以具体完美的解决 ...

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

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

  5. java比较排序Comparable和Comparator

    1       比较排序Comparable和Comparator 1.1      接口作用说明 Comparable和Comparator都是用来实现对象的比较.排序,对比时需要实现Compara ...

  6. postman(十一):添加cookie

    有些接口在调用时,需要提供权限,如下 这个时候可以通过添加cookie的方式跳过验证 为了更方便地获取cookie等信息,可以在chrome中安装一个插件:Postman Interceptor,配合 ...

  7. java中的默认类型+spring

    默认引用类型 Integer Character String(包装类)... private Integer age  ; 默认是null 默认基本类型 int char string.privit ...

  8. 容器虚拟网卡与网桥docker0虚拟网卡的veth pair的配对

    一)基本知识: Docker 安装时会自动在 host 上创建三个网络:none,host,和bridge:详细说明可参考其它文档.我们可用 docker network ls 命令查看: 基于DRI ...

  9. ubuntu18.04.2LTS下如何用五笔输入法 --Linux

    ubuntu18.04.2LTS下自带五笔输入法,不用去单独下载 1.在设置中找到区域和语言 2.点击加号添加输入源 3.选择,选择「汉语」 4.选择「极点五笔」 开始你的五笔输入法之旅…… 友情链接 ...

  10. Spring Boot Application

    spring boot默认已经配置了很多环境变量,例如,tomcat的默认端口是8080,项目的contextpath是“/”等等,spring boot允许你自定义一个application.pro ...