【发布时间】:2014-12-13 06:53:52
【问题描述】:
我正在尝试使用 TaskFactory 类来并行创建多个任务,每个任务一个待处理 正在处理的 transactionId,最多 5 个线程。我需要将取消令牌传递给每个任务。我在正确的轨道上吗?我如何让它运行异步与运行同步? 我有以下内容:
public int ProcessPendingTransactions()
{
//set the max # of threads
ThreadPool.SetMaxThreads(5, 5);
//create an action
//The Run method is what i am trying to create multiple tasks in parallel on
Action action = delegate() { abc.Run(transactionId); };
//kick off a new thread async
tfact.StartNew(action, MyCTkn, TaskCreationOptions.None, (TaskScheduler)null);
}
【问题讨论】:
-
下次请记得添加适当的语言标签。我已经为你添加了 C# 标签。
-
谢谢。非常感谢。
-
使用信号量是将最大任务数限制为 5 个的更好方法。
标签: c# multithreading task taskfactory