首页 新闻 搜索 专区 学院

C# Thread.SpinWait(int x);这个方法做什么用的?

0
[已解决问题] 解决于 2013-01-28 14:27

C# Thread.SpinWait(int x);这个方法做什么用的?

主要用在什么情况下,请给个例子说明..表复制微软的,谢谢.

hexllo的主页 hexllo | 菜鸟二级 | 园豆:405
提问于:2012-09-05 10:19
< >
分享
最佳答案
1

SpinWait是更轻量级的同步类型,如果等待时间较短,使用该类型可以避免上下文切换和内核切换带来的高开销。

它可以用来替换你需要使用Sleep,WaitHandle的任何地方,但并不一定总是最优的。通常我们用在无锁数据结构中。

奖励园豆:5
Launcher | 高人七级 |园豆:45045 | 2012-09-05 12:02

如果是等待1000毫秒,那么还是用Sleep(1000);是吗?如果用SpinWait(1000)就比较浪费了?

hexllo | 园豆:405 (菜鸟二级) | 2013-01-28 14:49

@hexllo: 对。重要的是,你得先判断你为啥要等待1000毫秒,是否可以通过 Timer 来实现你的逻辑。

Launcher | 园豆:45045 (高人七级) | 2013-01-28 14:53
其他回答(1)
0

http://q.cnblogs.com/q/2211/

chenping2008 | 园豆:9836 (大侠五级) | 2012-09-05 11:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册