C# 线程为什么要休息
答案:4 悬赏:50 手机版
解决时间 2021-02-26 08:29
- 提问者网友:遁入空寂
- 2021-02-25 20:49
刚开始接触多线程,看了下网上的示例,经常出现让当前线程休息几毫秒的代码。为什么要让线程休息呢,线程休息的时间根据什么而定?
最佳答案
- 五星知识达人网友:玩世
- 2021-02-25 21:42
线程里面没有sleep的话,线程没结束的话,cpu会被占用100%
全部回答
- 1楼网友:冷風如刀
- 2021-02-26 00:13
你需要指定时间的,单位为毫秒
而且注意写的地方,在哪个线程中写就是哪个线程休息
补充:
不太明白你什么意思,你的代码是:
threadstart = new threadstart(startwork); // 创建一个startwork方法的委托
newthread = new thread(threadstart); // 创建一个使用委托的线程
newthread.start(); // 线程开始执行
this.test_thing(); 调用了this_thing()函数,因为this_thing是在主进程中执行的,所以挂起的是主进程而不是startwork
这样才对,你却说他挂起了threadstart进程,这是什么意思?若你想要startwork挂起,thread.sleep(8000)写在startwork里,在哪个线程中运行这个方法,就是挂起哪个线程
- 2楼网友:毛毛
- 2021-02-25 23:04
就是在这几毫秒之内不参与CPU的竞争,在sleep结束后重新加入WINDOWS的cpu资源
的竞争申请中。希望能帮助你
- 3楼网友:怀裏藏嬌
- 2021-02-25 22:23
你所看到的应该是为了实验目的而挂起线程的,这种实验往往用在测试线程之间的同步上,挂起是为了模拟此处会实际需要运行代码而占用的时间,具体应用时挂起线程的代码将会被实际运行的代码所替换
在时机项目中很少用到挂起线程的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯