多线程Thread类的方法

Posted zhuobo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程Thread类的方法相关的知识,希望对你有一定的参考价值。

创建多个线程

1、定义一个Thread类的子类,比如MyThread类
2、重写Thread的run方法,设置线程任务
3、创建Mythread类的对象
4、调用方法start(),开启新的线程,执行run()方法

Thread的一些常用方法

public String getName():返回该线程的名字
static Thread currentThread(): 静态方法,返回当前的线程//返回的该线程的对象可以调用getName方法,得到当前线程名称
public void setName(String name):设置线程名称,创建的MyThread对象可以调用该方法设置线程名称
public static sleep(long milllis):当前线程暂停执行millis毫秒

MyThread类

public class MyThread extends Thread {
    public MyThread(){

    }
    public MyThread(String name) {// 带参数的构造方法,可以用来设置线程名称
        super(name);
    }

    @Override
    public void run() {
        String name = getName();
        System.out.println(name);
    }
}

方法的应用

public class Multithreading {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        // 创建对象
        // 调用start方法,开启新线程,执行run方法

        //mt.start();//Thread-0
        new MyThread().start();
        new MyThread().start();
        new MyThread().start();

        System.out.println(Thread.currentThread().getName());
        // 一共有5个线程,其中4个自己创建的线程,1个主线程,由于线程执行的顺序不一定,因此顺序是随机的
        /*Thread-0
        main
        Thread-3
        Thread-2
        Thread-1*/

        mt.setName("绿巨人");
        mt.start();
        new MyThread("钢铁侠").start();


    }
}

sleep方法,可以用来当做计时器

package cn.zhuobo.day12.aboutMultithreading;
// public static void sleep(long millis):使当前正在执行的线程,以毫秒数暂停执行
public class Sleep {
    public static void main(String[] args) {
        for (int i = 0; i < 60; i++) {
            System.out.println(i);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {// 实现了每隔1s打印一个数字,因为当前的main线程每打印一个数字就会被sleep方法暂停1000ms
                e.printStackTrace();
            }
        }
    }
}

以上是关于多线程Thread类的方法的主要内容,如果未能解决你的问题,请参考以下文章

27多线程(多线程的三种实现方式Thread线程类的常见方法线程安全问题)

多线程Thread类的方法

Java多线程原理及Thread类的使用

多线程

继承的方式创建多线程&Thread类的常用方法

Python爬虫编程思想(138):多线程和多进程爬虫--从Thread类继承