type
status
date
slug
summary
tags
category
icon
password
Property
Sep 7, 2023 11:57 AM

Join和Sleep

调用Join方法,就可以等待另一个线程结束
例子(Join)
notion image
Thread.Sleep()方法会暂停当前的线程,并等待一段时间
参数毫秒或者TimeSpan都可以
注意:
Thread.Sleep(0)这样调用会导致线程立即放弃本身当前的时间片,自动将CPU移交给其他线程。
Thread.Yield()做同样的事情,但是他只会把执行交给统一处理器上的其他线程
当等到Sleep或Join 的时候,线程处于阻塞的状态
Sleep(0)或Yield有时在高级性能调试的生产代码中很有用。它也是一个很好的诊断工具,有助于发现线程安全的好问题
如果在代码中的任何地方插入Thread.Yield()就破坏了程序,那么你的程序几乎肯定有问题。
C#异步编程-01 线程 Thread 创建线程C#异步编程-03 阻塞 Blocking
  • Waline
Kitety
Kitety
独特为佳
公告
我曾经七次鄙视自己的灵魂
--卡里·纪伯伦
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
 
最新评论
Loading...