我看到很多人在博客文章和这里,要么避免或建议反对使用 Thread类在最近版本的 C # (我的意思是当然4.0 + ,增加了 Task和朋友)。甚至在此之前,对于一个普通的旧线程的功能在许多情况下可以被 ThreadPool类替换这一事实也存在争议。
此外,其他专门的机制进一步使得 Thread类不那么吸引人,例如 Timer取代了丑陋的 Thread + Sleep组合,而对于 GUI,我们有 BackgroundWorker等等。
尽管如此,对于一些人(包括我自己)来说,Thread似乎仍然是一个非常熟悉的概念,这些人在面对一个涉及某种并行执行的任务时,会直接使用老式的 Thread类。我最近一直在想是不是该改过自新了。
因此,我的问题是,有没有必要或有用的情况下,使用一个普通的旧 Thread对象,而不是上述结构之一?