type
status
date
slug
summary
tags
category
icon
password
Property
Aug 9, 2024 11:58 AM
Join和Sleep
调用Join方法,就可以等待另一个线程结束
例子(Join)
Thread.Sleep()方法会暂停当前的线程,并等待一段时间
参数毫秒或者TimeSpan都可以
注意:
Thread.Sleep(0)这样调用会导致线程立即放弃本身当前的时间片,自动将CPU移交给其他线程。
Thread.Yield()做同样的事情,但是他只会把执行交给统一处理器上的其他线程
当等到Sleep或Join 的时候,线程处于阻塞的状态
Sleep(0)或Yield有时在高级性能调试的生产代码中很有用。它也是一个很好的诊断工具,有助于发现线程安全的好问题
如果在代码中的任何地方插入Thread.Yield()就破坏了程序,那么你的程序几乎肯定有问题。
- 作者:Kitety
- 链接:https://www.kitety.com/article/c-sharp-async-thread-join-sleep
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章