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

更新于: 19-6 月-2020

552 浏览量

开启你的职业

完成课程获得认证

立即开始
广告