什么是python中的C#任务的等价物

时间:2013-06-05 23:10:41

标签: c# python task

我需要将我的c#代码翻译成python。我在c#中有一个Task,需要将它翻译成python。这是一段代码:

List<Task> t = new List<Task>();
for(int i = 0; i < _tasks.Count; i++)
{
     var theTask = _tasks[i];
     t.Add(Task.Factory.StartNew(() => theTask.SAPTask.Execute(theTask.index, theTask.WindowCount)));
}
t.ForEach(x => x.Wait());

这段代码对于运行我的程序至关重要。我需要python在单独的线程中运行列表中的所有任务,并阻止主线程直到所有任务都完成。 python有这个功能吗?

2 个答案:

答案 0 :(得分:1)

  

我需要Python来运行列表中的所有任务,然后阻止主线程直到完成所有任务

Task的主要用例是避免阻止主线程,因此用户可以在将工作推送到不同的线程时与应用程序进行交互。

您是否只是想在各个工作之间实现并行性? 如果您使用的是Python 3.2,那么concurrent.futures在某种程度上看起来就像TPL一样。

答案 1 :(得分:0)

任务只是一个操作,作为它自己的一个线程运行。只需创建一个线程并让它执行特定的操作,然后就可以完成任务。