type
Post
status
Published
date
Sep 5, 2023
slug
c-sharp-async-thread-join-sleep
summary
C#异步编程-02 Thread Join Thread Sleep
tags
C#
CS
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 许可协议,转载请注明出处。
相关文章


.png?table=block&id=fa81f9ab-c0da-4f4e-a935-0567380c36d0&t=fa81f9ab-c0da-4f4e-a935-0567380c36d0&width=1080&cache=v2)
.png?table=block&id=55df38cd-a361-41ee-a75d-c17615e78d6b&t=55df38cd-a361-41ee-a75d-c17615e78d6b&width=1080&cache=v2)
_(1).jpg?table=block&id=a716c7ee-7105-4a3f-8133-a15129086419&t=a716c7ee-7105-4a3f-8133-a15129086419&width=1080&cache=v2)
.jpg?table=block&id=2e9784d9-1d6e-44fc-9106-f0c576ddcb8f&t=2e9784d9-1d6e-44fc-9106-f0c576ddcb8f&width=1080&cache=v2)

.png?table=block&id=c0772cdb-ee08-49f4-b2f3-c804586bb769&t=c0772cdb-ee08-49f4-b2f3-c804586bb769&width=1080&cache=v2)

.png?table=block&id=b43ea4ae-a57d-4962-80ba-12280979702b&t=b43ea4ae-a57d-4962-80ba-12280979702b&width=1080&cache=v2)
