永发信息网

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
你所看到的应该是为了实验目的而挂起线程的,这种实验往往用在测试线程之间的同步上,挂起是为了模拟此处会实际需要运行代码而占用的时间,具体应用时挂起线程的代码将会被实际运行的代码所替换 在时机项目中很少用到挂起线程的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯