多线程-02-基础多线程的常用方法

一、Thread常用API说明

  • Thread常用方法:获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。
  • 至于Thread类提供的诸如:yield、join、interrupt、不推荐的方法stop、守护线程、线程优先级等线程方法,在开发中很少用,这些方法可以自行到高级篇去学习

二、Thread常用方法和构造器

1、常用方法

方法名称说明
String getName()获取当前线程名称,默认线程名称是Thread-索引
void setName(String name)设置线程名称
public static Thread currentThread();返回对当前正在执行的线程对象引用
public static void sleep(Long time)让线程休眠指定时间,单位为毫秒
public void run()线程任务方法
public void start()线程启动方法

2、常用构造器

构造器说明
public Thread(String name)可以为当前线程指定名称
public Thread(Runnable target)把Runnable对象交给线程对象
public Thread(Runnable target, String name)把Runnable对象交给线程对象,并指定线程名称

三、方法使用代码演示

1、getName()、currentThread()和run()方法;

/**
 * @Author: {LZG}
 * @ClassName: ThreadDemo01
 * @Description: TODO
 * @Date: 2022/5/9 7:53
 **/
public class ThreadDemo01 {
    public static void main(String[] args) {
        Thread thread1=new MyThread();
        Thread thread2=new MyThread();
        //  调用getName()获取当前线程的名称
        System.out.println("thread1的名称是:"+thread1.getName());
        System.out.println("thread2的名称是:"+thread2.getName());

        //  调用currentThread()获取当前线程
        Thread mainThread = Thread.currentThread();
        System.out.println("主线程的名称是:"+mainThread.getName());
    }
}

class MyThread extends Thread{
	//	线程任务方法:此例子:线程任务就是for循环
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println("子线程输出"+i);
        }
    }
}

运行结果
在这里插入图片描述

2、setName(String name)和start()方法

/**
 * @Author: {LZG}
 * @ClassName: ThreadDemo01
 * @Description: TODO
 * @Date: 2022/5/9 7:53
 **/
public class ThreadDemo02 {
    public static void main(String[] args) throws Exception{
        Thread thread1=new MyThread02();
        Thread thread2=new MyThread02();

        //  调用setName(String name)设置线程名称
        thread1.setName("子线程1号");
        thread2.setName("子线程2号");
        //  调用getName()获取当前线程的名称
        System.out.println("thread1的名称是:"+thread1.getName());
        System.out.println("thread2的名称是:"+thread2.getName());

        //  调用currentThread()获取当前线程
        Thread mainThread = Thread.currentThread();
        mainThread.setName("我是最厉害的主线程");
        System.out.println("主线程的名称是:"+mainThread.getName());

        //  调用start()线程方法
        thread1.start();
        thread2.start();
        
        for (int i = 0; i < 5; i++) {
            System.out.println(Thread.currentThread().getName()+"的输出"+i);
        }

    }
}

class MyThread02 extends Thread{

    //  线程任务方法
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println(Thread.currentThread().getName()+"的输出"+i);
        }
    }
}

运行结果
在这里插入图片描述

3、sleep(Long time)方法

/**
 * @Author: {LZG}
 * @ClassName: ThreadDemo03
 * @Description: TODO
 * @Date: 2022/5/9 8:14
 **/
public class ThreadDemo03 {
    public static void main(String[] args) throws InterruptedException {


        for (int i = 0; i < 5; i++) {
            System.out.println("输出:"+i);
            if (i==3){
                Thread.sleep(5000);
            }
        }
    }
}

运行结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值