对于线程池,创建两个以上的函数并排队执行方法。
首先,创建类似的方法-
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