C# 程序创建线程池

csharpserver side programmingprogramming

对于线程池,创建两个以上的函数和队列方法以供执行。

首先,创建一个类似 − 的方法

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

相关文章