2012-10-14 96 views
-1

我已经做了一个关于GOF工厂方法模式的实验,并为此使用线程。 我使用GOF工厂方法模式在C#.Net中动态创建线程。代码结构与工厂方法模式示例中描述的完全相同。我知道创建新主题并不被认为是很好的做法。但有时你必须考虑一些不够好的做法来完成你的要求。我需要知道,通过这种模式动态创建线程是否安全,或者是否有更好的模式或技术在运行时创建和管理线程?我将在我的项目中实现这个功能,我需要在运行时创建多个线程。线程创建

+0

编程语言? – rolve

+2

.NET 4.0 TaskFactory类跳转到头脑中。除了重新发明这个轮子并使其变成方形之外,我想这证明使用工厂不是“不安全的”。 –

+0

@HansPassant:谢谢..请写一个答案..以便我可以接受它.. –

回答

2

正如Hans Passant所述.NET 4.0 TaskFactory类是创建同时线程的有用工具。

任务工厂由System.Threading.Tasks.TaskFactory类表示,该类创建Task对象或创建Task对象的System.Threading.Tasks.TaskFactory类。这两个类都包含您可以使用方法:

Create tasks and start them immediately. 

Create task continuations that start when any or all of an array of tasks complete. 

Create tasks that represent pairs of begin/end methods that follow the Asynchronous Programming Model. 

参考文献:

1

创建新主题并不被认为是良好的做法。考虑利用线程池。线程池有很多内置的优化。如果您使用.Net 4.0,那么您也可以使用任务并行库。

+0

你会请指定TPL上的一些有用的链接.. –