Java基础 -> 线程Thread的相关方法笔记

一些常用方法

run():重写Threadrun方法,将要执行的操作写在代码中

public void run() {}

start():启动线程,并且调用run方法

对象名.start();

currentThread():返回正在执行的线程
getName():获取当前线程的名字

Thread.currentThread().getName();//获取当前执行的线程的名字

setName():设置当前线程的名字

对象名.setName(“线程一”)Thread.currentThread().setName(“主线程”);//获取当前执行的线程的名字

yiled();释放当前线程,线程让步,这一次线程我不执行了,等下次cpu分配
join();线程a中调用b的join()方法,a会暂时停止,等待b执行完毕在执行,这个a线程也包括主线程,在主线程中调用b线程。
sleep(Loog millis):睡眠多长时间,ms,需要写异常try-catch
isAlive();判断线程是否还存活,是否已经停止或者执行完毕

System.out.println(对象名.isAlive());//false,true

wait():线程阻塞,只能调用在同步代码块,方法中,不能在lock中
notify():唤醒一个线程阻塞wait,只能调用在同步代码块,方法中
nitifyAll():唤醒所有线程阻塞wait,只能调用在同步代码块,方法中
wait,notify,notifyall:必须跟同一个synchronized锁的对象一致,且定义在object中。

this.wait();
this.notify();
object.wait();

sleep(); 和wait():区别:
都能阻塞线程
sleep方法声明在Thead类,wait方法声明在object类。
sleep任何需要的地方,wait只在同步代码块,方法中。
sleep不会释放锁,wait会释放锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值