C# 程序创建线程池
对于线程池,创建两个以上的函数和队列方法进行执行。
首先,创建一个类似以下的方法 -
public void one(object o) { for (int i = 0; i <= 3; i++) { Console.WriteLine("One executed"); } }
同样地,创建更多方法,然后使用 ThreadPool.QueueUserWorkItem方法将这些方法排队执行 -
Demo d = new Demo(); for (int i = 0; i < 3; i++) { ThreadPool.QueueUserWorkItem(new WaitCallback(d.one)); ThreadPool.QueueUserWorkItem(new WaitCallback(d.two)); ThreadPool.QueueUserWorkItem(new WaitCallback(d.three)); }
示例
你可以尝试运行以下 C# 代码来创建一个线程池。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; class Demo { public void one(object o) { for (int i = 0; i <= 3; i++) { Console.WriteLine("One executed"); } } public void two(object o) { for (int i = 0; i <= 3; i++) { Console.WriteLine("Two executed"); } } public void three(object o) { for (int i = 0; i <= 3; i++) { Console.WriteLine("Three executed"); } } static void Main() { Demo d = new Demo(); for (int i = 0; i < 3; i++) { ThreadPool.QueueUserWorkItem(new WaitCallback(d.one)); ThreadPool.QueueUserWorkItem(new WaitCallback(d.two)); ThreadPool.QueueUserWorkItem(new WaitCallback(d.three)); } Console.Read(); } }
输出
Two executed Two executed Two executed Two executed Two executed Two executed Two executed One executed One executed One executed One executed One executed Two executed Two executed Three executed Three executed Two executed One executed Three executed Two executed Three executed One executed One executed One executed
推广