【发布时间】:2011-05-09 08:36:29
【问题描述】:
如果我将 System.Threading.Thread.Sleep() 放入以 TaskFactory.StartNew() 启动的任务中会发生什么? 它是让正在执行的线程本身进入睡眠状态,还是该线程会在第一个任务睡眠时执行另一个任务?
我问这个是因为我目前正在处理一个有时必须等待从其客户端接收数据的服务器,如果我让正在处理客户端连接的任务处于休眠状态,我想知道是否然后,执行此特定任务的线程能够在第一个连接等待数据时处理另一个连接。
【问题讨论】:
-
我不知道你想要达到什么目标,但 IMO 你应该重新考虑你的设计。启动任务以使其进入睡眠状态对我来说不是最佳解决方案。对于长时间运行的操作(包括任何睡眠),请考虑使用线程。
标签: c# multithreading task-parallel-library