Thread.Suspend和Abort 的区别
区别 thread abort
2023-09-14 08:59:24 时间
下文为个人理解:
Suspend的意思是暂停,和播放器一样,那么它占用的资源和内存是还在的。
该方法最好不要去使用,因为多线程不可控,同时多线程应该不可控,控制多线程的代价太大,考虑的因素很多,属于废弃的一种。
很多人考虑让它暂停怎么办,想想为何要暂停的原因,其实有很多方法可以使用。
比如说暂停是为了等待其他资源的使用,那么可以用join让占用资源的线程释放后使用,或者说等待新的资源。
abort就像播放器的终止,资源释放了,但是播放器没有关闭,所以产生了这样一个现象,为什么终止之后,
会调用ResetAbort来恢复,其实这个本身并不会起到任何作用,可以说abort终止了的只能重新来过,因为暂用的资源被释放了,
ResetAbort主要是恢复线程后续操作,让它执行完自我释放,这样我们就可以托管给资源回收系统。
相关文章
- 知乎_异步,多线程和并行的区别?
- php长连接和短连接区别
- in和exists的区别与SQL执行效率
- Reporting Service 告警"w WARN: Thread pool pressure. Using current thread for a work item"
- Python中内置数据类型list,tuple,dict,set的区别和用法
- ASP.NET Core 中间件 中间件(Middleware)和过滤器(Filter)的区别
- Python3.x和Python2.x的区别-转
- Thread.join(), CountDownLatch、CyclicBarrier和 Semaphore区别,联系及应用
- mysql DATE_FORMAT FROM_UNIXTIME 的区别
- vue和微信小程序的区别、比较
- [Contract] web3.eth.getAccounts, web3.eth.getCoinbase 使用场景区别
- JAVA8 Map新方法:compute,computeIfAbsent,putIfAbsent与put的区别
- 多线程-Thread的run()与start()的区别
- 实例分析Scheduled Thread Pool Executor与Timer的区别
- 配置管理系统和整体的变化对系统有什么区别和联系
- HashMap和Hashtable的区别?
- laravel get和all区别
- props和state的区别