【发布时间】:2011-01-13 17:36:16
【问题描述】:
我读到线程是非常有问题的。有哪些替代方案?自动处理阻塞和填充的东西?
很多人推荐后台工作,但我不知道为什么。
有人愿意解释“简单”的替代方案吗?用户将能够选择要使用的线程数(取决于他们的速度需求和计算机能力)。
有什么想法吗?
【问题讨论】:
-
您能否详细说明您认为线程问题如此严重的原因?
-
为什么让用户决定使用多少线程是个好主意?您打算如何训练用户判断 3 个线程是优于还是低于 10 个线程?
-
“我已经读到线程非常有问题” - 听起来你不是 100% 熟悉线程(或后台工作线程)是什么以及如何正确使用它们。这个链接很好地概述了线程和一些很好的开始信息。 msdn.microsoft.com/en-us/library/aa645740(VS.71).aspx .Net 4.0 具有并行编程扩展,但它仍然是线程,并且与何时使用它的许多相同原因适用。让用户调整线程也不总是最好的主意。
-
您的意思是“线程”是指“并行运行程序部分的通用编程概念”还是“特定线程库/实现”?如果是前者,那么就没有“替代方案”了。 “后台工作者”是一种特定类型的线程,而“阻塞”无非是一个线程等待另一个线程完成某事。如果是后者,请编辑您的问题以提及您想知道的特定库/实现。
标签: c# multithreading