我在GOF工厂方法模式上做了一个实验,并为此使用了Threads。 我使用GOF工厂方法模式在C#.Net中动态创建线程。代码结构与Factory Method模式示例中描述的完全相同。我知道创建新线程不被认为是好习惯。但有时你必须考虑一些不够好的做法来完成你的要求。我需要知道通过这种模式动态创建线程是安全的还是有更好的模式或技术来在运行时创建和管理线程???我将在我的项目中实现这一点,我需要在运行时创建几个Thread。
答案 0 :(得分:2)
如Hans Passant所述,.NET 4.0 TaskFactory Class是一个用于创建同步线程的有用工具。
任务工厂由System.Threading.Tasks.TaskFactory类(用于创建Task对象)或System.Threading.Tasks.TaskFactory类(用于创建Task对象)表示。这两个类都包含可用于的方法:
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 :(得分:1)
创建新线程不被视为良好做法。考虑使用线程池。线程池内置了许多优化功能。如果您使用的是.Net 4.0,那么您也可以使用任务并行库。