当前位置: 首页 > 工具软件 > Blog-Hunter > 使用案例 >

mysql 线程池优化 51cto_线程池-程序猿的家--Hunter-51CTO博客

阴宏爽
2023-12-01

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Threading;

namespace ConsoleApplication5

{

class Program

{

static void Main(string[] args)

{

int a;

int b;

ThreadPool.GetMaxThreads(out a, out b);

Console.WriteLine("辅助线程最大:{0}。IO线程最大:{1}",a,b);

for (int i = 0; i 

{

ThreadPool.QueueUserWorkItem(Getmsg, i);

}

Console.ReadKey();

}

private static void Getmsg(object o)

{

for (int i = 0; i 

{

Console.WriteLine("i:{0}-{1};线程ID:{2}", o.ToString(), i,Thread.CurrentThread.ManagedThreadId);

}

}

}

}

线程池使用起来很简单,但是有一些限制:

①:线程吃池中的所有线程都是后台线程。如果进程所有的前台线程都结束了,所有的后台线程就会停止。不能把如池的线程改为前台线程

②:不能给入池的线程设置优先级或名称

③:对于COM对象,入池的所有线程都是多线程单元线程,许多COM对象都需要单线程单元线程

④:入池的线程只能用于时间较短的任务。对于时间较长的任务可以用Thread类

 类似资料: