Threadpool的替代方案是什么

本文关键字:方案 是什么 Threadpool | 更新日期: 2023-09-27 18:30:07

我有一段代码:

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

你能告诉我如何更改它,或者使用Threadpool的替代品吗?

Threadpool的替代方案是什么

您可以使用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();
    }