C# 线程池管理程序
以下是一个简单的 C# 线程池管理程序示例:
using System;
using System.Threading;
namespace ThreadPoolManager
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Starting ThreadPool Manager...");
            // 创建线程池
            ThreadPool.SetMaxThreads(5, 5); // 最大线程数为 5
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 1");
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 2");
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 3");
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 4");
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 5");
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), "Task 6");
            Console.WriteLine("All tasks queued.");
            Console.ReadLine();
        }
        static void WorkerThread(object state)
        {
            Console.WriteLine("Task started: " + state.ToString());
            Thread.Sleep(2000); // 模拟一些工作
            Console.WriteLine("Task completed: " + state.ToString());
        }
    }
}
该程序会创建一个最大线程数为 5 的线程池,并将 6 个任务加入到线程池中。由于最大线程数为 5,因此只有前 5 个任务会立即得到执行,第 6 个任务需要等待前面的任务完成后才能执行。
注意,此示例仅用于演示目的,实际应用程序需要考虑更多的线程池管理和任务处理方面的细节。
 
原文地址: https://www.cveoy.top/t/topic/b4bJ 著作权归作者所有。请勿转载和采集!