饥饿线程

来源:互联网 发布:淘宝客贷款 编辑:程序博客网 时间:2024/06/10 01:40

 什么是饥饿线程?

长期没有得到运行的线程(没抢到时间片),为什么抢不到时间片 因为线程的级别从0 -31  级别越高 执行的越高  抢占的时间片的可能就越高 导致  执行级别 保持不能运行的状态


如何避免

1  Sleep(100)  //100毫秒 并非真真实实的100毫秒而是无限接近 

放弃当前线程的时间片,放弃剩余的时间片

2 SwitchToThread();

切换其他线程我会把我自己剩余的时间片 给那些饥饿度高的来执行  


一般来说 第二种的可控性比较低所以使用并不常用

原创粉丝点击