大厂之路一由浅入深、并行基础、源码分析一S、R(已废弃)

本文探讨了Thread类中已废弃的suspend()和resume()方法,指出它们在暂停线程时不释放资源,可能导致其他线程阻塞。由于这些问题,这俩方法不再推荐使用,可能会引起死锁和不可预测的系统状态。建议采用更安全的线程同步机制,如使用wait()和notify()或者使用Lock接口来管理线程的执行。
摘要由CSDN通过智能技术生成
  • 挂起(suspend)继续执行(resume):
    • 这两个操作是一对相反的操作,被挂起来的线程,必须要等到resume()方法操作后,才能继续执行。
    • 这对操作和Thread.stop()方法一样好用。但是也早已标注为废弃方法,并不推荐使用。
    • 废弃原因:
      • suspend()方法在导致线程暂停的同时,并不会释放任何资源
      • 此外,其他任何线程想要访问被它占用的锁时,都会被牵连,导致无法正常继续运行。直到对应的线程进行了resume() 方法操作,被挂起的线程才能继续,从而其他所有阻塞在相关锁上的线程也可以继续执行。
      • 这时候如果resume()方法操作在suspend()之前就执行 了,那么被挂起的线程则很难被继续执行。
      • 更严重的是,从它的线程状态上看,还是Runnable会影响对系统当前状态的判断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值