Mar*_*kus 8 c# task-parallel-library
我正在尝试获取所有当前正在运行的任务的列表..net 4.0任务API是否提供此类功能?或者唯一的选择是明确地将任务存储在单独的集合中?
我想你需要TaskScheduler.GetScheduledTasks方法,但是:
所以我认为你应该尝试实现自己的 TaskScheduler来实现你的目标。
MSDN 上有一篇很好的文章http://msdn.microsoft.com/en-us/library/ms997649.aspx 您需要的一切都描述得非常好。
编辑:也许这会有所帮助:
using System;
using System.Diagnostics;
class MainClass
{
public static void Main()
{
Process[] allProcs = Process.GetProcesses();
foreach(Process proc in allProcs)
{
ProcessThreadCollection myThreads = proc.Threads;
Console.WriteLine("process: {0}, id: {1}", proc.ProcessName, proc.Id);
foreach(ProcessThread pt in myThreads)
{
Console.WriteLine(" thread: {0}", pt.Id);
Console.WriteLine(" started: {0}", pt.StartTime.ToString());
Console.WriteLine(" CPU time: {0}", pt.TotalProcessorTime);
Console.WriteLine(" priority: {0}", pt.BasePriority);
Console.WriteLine(" thread state: {0}", pt.ThreadState.ToString());
}
}
}
}
Run Code Online (Sandbox Code Playgroud)