百科问答小站 logo
百科问答小站 font logo



如何实现一个安全的thread.stop的api? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

参考C#的CancellationToken

另外,C#设计了一些不可被打断的代码位置,其中就包含finally块,这样就可以避免上面所说的释放锁的问题,因为释放锁一般都是放在finally块里面的。当程序执行到finally块时,Abort不能立即终结线程,必须等到finally块执行完成。

同样的,Thread.Abort会在目标线程引发异常,从而确保代码在try块中执行的时候,对应的finally块会被执行,这样又避开了上面所说的造成数据不一致的问题。


不过即便如此,我们有时候还是希望自己来控制被终结和打断的时机,这时候就可以用CancellationToken机制。




  

相关话题

  如果美帝软件上制裁,禁止使用一切 MADE in USA 的代码、软件(包括开源软件)会怎样? 
  C盘分区很大没事吗? 
  内存(DRAM)的连续读写速度和随机读写速度是一样的吗? 
  为什么汇编语言的功能在高级语言中一部分成为了关键字,一部分封装成了函数? 
  鸿蒙的前景如何?有可能成为第三大移动操作系统吗? 
  linux更新后无法启动时你的心情怎样、第一步怎么做? 
  x86 win32下的汇编指令集可认为是 cpu提供的指令集 + win32提供的指令集 吗? 
  微软英特尔是怎样配合开发操作系统和处理器的,处理器如何按照操作系统设计,操作系统如何利用处理器特性? 
  能否给Nokia手机直接编程? 
  Windows 是如何击败竞争对手并统治桌面操作系统的? 

前一个讨论
驼峰命名法该如何解决某些单词需要大写的问题?
下一个讨论
为什么飞机比船/潜艇快了一个数量级以上,而最快的鸟比最快的鱼快不了多少?





© 2025-06-21 - tinynew.org. All Rights Reserved.
© 2025-06-21 - tinynew.org. 保留所有权利