问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么不推荐使用stop和suspend这两个方法?

发布网友 发布时间:2022-04-23 02:27

我来回答

1个回答

热心网友 时间:2023-07-08 05:06

stop和suspend都有一些共同的点:都试图专横的控制一个给定了的线程的行为.从JDK1.2开始,这两个方法都被弃用了.stop天生就不安全,而经验告诉我们呢suspend方法会经常导致死锁。 stop这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会导致对象处于不一致的状态。假如一个方法在将钱从一个账户转移到另一个账户的过程中,在取款之后存款之前就停止了。那么现在银行对象就被破坏了。因为锁已经被释放了。当线程想终止另一个线程的时候,它无法知道何时调用stop是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。 suspend不会破坏对象。但是,如果你用一个suspend挂起一个有锁的线程,那么在锁恢复之前将不会被释放。如果调用suspend的方法线程试图取得相同的锁,程序就会死锁。那么在程序中该怎么样使用线程呢?建议如下:(1)最好不要使用Lock/Condition也不使用synchronized关键字。在很多情况下你可以使用java.util.concurrent包中的一种机制,它会为你处理所有的加锁。例如阻塞同步队列。(2)如果synchronized关键字在程序中可以工作,那么就尽量使用它,这样可以减少代码数量和出错的几率。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 广州增城电信2M宽带网费多少钱一年 Halt,Stop,Cease,Suspend的不同以及搭配用法 增城长城宽带更换电信宽带需要重新拉网嘛? 增城市报装什么宽带好 增城电信光纤报装要多少钱? 增城区永宁街道白水村接电信宽带在那里办理 平安保险公司e生保保证续保20年版怎么样,靠不靠谱,有什么优缺点和坑,值得推荐购买吗? 中国平安的平安e生保长期医疗险怎么样?真的可以续保20年吗?靠谱吗? 中国平安的平安e生保商业长期百万医疗保险优缺点是啥啊,是个坑吗?怎么... 中国平安保险股份有限公司e生保长期医疗险保证续保20年版是什么意思?怎么样?有哪些优缺点? 有人理赔过中国平安保险公司的e生保长期医疗险吗,听说可以保证续保20... 平安e生保怎么样? 平安健康的长期医疗险平安e生保保证续保20年版怎么样?有什么优缺点?靠 ... 中国平安保险公司e生保长期住院百万医疗保险保证续保20年值不值得买... 平安e生保优缺点,平安哪款保险好,旅游意外险,700度保险网 平安e生保保险好不好? 平安e生保长期医疗这款产品保费高吗?可以详细介绍下这款产品的优缺点吗? 有没有人买平安的e生保呀,有什么优缺点吗 平安e生保有个保证续保版怎么样? 平安e生保有哪些优缺点? 关于广州电信宽带的安装 ...可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend... 广州安装电信宽带需要多久多长时间? suspend 与 pause 与t ime out---(暂停)用法有何区别? 广州应该去哪里办理电信的宽带? 英语suspend和pause的区别 增城 装什么宽带好 电信我这边没资源了。装不了 其他还有什么好用的宽带吗 速度一定要快 广州这边安装城中村电信宽带要多久才能安装好啊? java多线程为什么弃用stop和suspend 请问在广州装电信宽带需要什么手续啊具体收费是怎么样的啊?听说还要暂住证是真的吗? 我爱学Java之Thread中stop,suspend,resume为什么不安全 广州装电信宽带的初装费是多少? 如何停止java线程 装的是780元2M的广州电信宽带,因工作地点从白云换到增城,请问此宽带套餐是否可以迁移的? ava中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 广州电信宽带第一年报装需要多少钱 暂停时间 英语用Pause Time好,还是suspend time? 在广州安装电信宽带收费标准是什么, 为什么线程会放弃Suspend和Resume方法 广州这边安装城中村电信宽带要多久才能安装好