java有哪些方法_java 线程有哪些方法

1.start() 启动

2.isAlive() 是否活动这,只有在start之后,在run方法走完之后,是true

3.state() 线程状态

4.getPriority()  获取线程优先级,默认是5,线程默认优先级为5,如果不手动指定,那么线程优先级具有继承性,比如线程A启动线程B,那么线程B的优先级和线程A的优先级相同

5.setPriority() CPU会尽量将执行资源让给优先级比较高的线程。

6.setDaemon 设置守护线程 比如在主线程里面开启一个thread,然后设置thread线程是守护线程(在start之前设置这个属性),比如在thread里面有一个while(true)循环,等主线程结束之后,我们的thread也会结束,这个thread就叫守护线程。

7.interrupt 开始以为是会让线程中断,测试之后,调用之后,线程并没有中断。 如果在线程里面有阻塞的话,他就是提示报错。如果线程里面没有阻塞的话,他设置interrupt没有任何作用

75cf8b5d5e519cb09beb0e8cee472c48.png

fc9e8c64966e10a083dc822d4fc74588.png

8.join()  方法的作用是等待线程销毁。join()方法反应的是一个很现实的问题,比如main线程的执行时间是1s,子线程的执行时间是10s,但是主线程依赖子线程执行完的结果,这时怎么办?可以像生产者/消费者模型一样,搞一个缓冲区,子线程执行完把数据放在缓冲区中,通知main线程,main线程去拿,这样就不会浪费main线程的时间了。另外一种方法,就是join()了

join(int) 等待线程时间。超过这个时间就不等了。

921f5168cec1378012c9497f3d9f4b31.png

f1886a623b5c3f2d53fd46c7b8b6207e.png

静态方法

getName()获取线程名称 在构造方法里面和在run方法里面都打印了线程名称,最后这边显示第1个是main的名称,在run里面才是线程名称。

ccb74248b1a9b75c628cd82806c9cdb7.png

sleep(long)当前线程 暂停执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值