什么是Threadpool的替代品?

时间:2016-01-13 19:01:43

标签: c# multithreading

我有这段代码:

 public void GenerateImageAsync(Area area)
    {
        ThreadPool.QueueUserWorkItem(threading  =>
        {
            ready.Reset();
            GenerateImage(area);
            ready.Set();
        });
    }

你能告诉我怎样才能改变它,或者使用Threadpool的替代方案?

1 个答案:

答案 0 :(得分:1)

您可以使用Task,它将在线程池中创建一个线程,如下所示:

public void GenerateImageAsync(Area area)
    {
        Task.Run(() => {
            ready.Reset();
            GenerateImage(area);
            ready.Set();
        });
    }

或像这样的实际线程:

public void GenerateImageAsync(Area area)
    {
        new Thread(() => {
            ready.Reset();
            GenerateImage(area);
            ready.Set();
        }).Start();
    }