java并发学习6:常见方法二

1、park
LockSupport.park();//让线程停下来
2、打断park
打断之后在使用park停止相思程就不行了,要想使park在生效,要使interrupted()标记为false.
使用isInterrupted()方法,会抹去当前的状态,就标记就成false了,park也就生效了。
Threadt1=newThread(() ->{
    log.debug("park...");
    LockSupport.park();
    log.debug("unpark...");
    log.debug("打断状态:{}", Thread.currentThread().isInterrupted());    
}, "t1");
t1.start();
sleep(0.5);
t1.interrupt();

Threadt1=newThread(() ->{log.debug(“park…”);LockSupport.park();log.debug(“unpark…”);log.debug(“打断状态:{}”, Thread.currentThread().isInterrupted()); }, “t1”);t1.start();sleep(0.5);t1.interrupt();

3、过时的方法
  • stop():停止线程运行
  • suspend():挂起/暂停线程运行
  • resume():恢复线程运行

都会破坏同步代码块,容易导致线程死锁。

4、守护线程

setDaemon(true):谁调用,谁就是去守护的。主线程停止了,那么调用的那个线程也就停止了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值