【HR】C# 线程同步查漏补缺

网站搭建   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2023-2-2

当线程 A 在等待一个同步构造,另一个线程 B 持有构造一直不释放,那么就会导致线程 A 阻塞。同步构造有用户模式构造和内核模式构造。

用户模式构造通过 CPU 指令来协调线程,所以速度很快。也意味着不受操作系统控制,所以等待构造的线程会不停自旋,浪费 CPU 时间。
内核模式构造通过操作系统来协调线程。内核构造在获取时,需要先转换成本机代码,在转换成内核代码,返回时则需要反方向再转换一次,所以速度会比用户构造慢很多。
因为使用了操作系统来协调线程,所以也有了更加强大的功能。
不同线程在竞争一个资源时,操作系统会阻塞线程,所以不会自旋。
可以实现托管线程和本机线程的同步。
可以跨进程跨 domain 同步。
可以利用 WaitHandle 类的方法实现多个构造的同步或者超时机制。

沙发
忘川⁰⁰ 2023-2-2
主播看扣我抓的扣接口[滑稽]
板凳
HR北渡 2023-2-3
看到了,看到了,很有实力。

评论

登录后才可发表内容
  • 主题

    82

  • 帖子

    3536

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.1077s Mem:1977Kb