.NET多线程(三)线程池

如题所述

第1个回答  2022-06-01

线程的创建和销毁是比较昂贵的操作

事先创建好几个对象,需要就从池中分配,用完就返回池中

(1)线程池,只适合短时操作,不要阻塞线程池线程
(2)线程池,线程是后台线程
(3)线程池的线程数量有上限
(4)ASP.NET 使用自己的线程池

(1)工作线程(worker thread)
主要处理占用CPU进行算法计算等

(2)IO线程(I/O thread)
主要处理网络请求,硬盘文件读写等

(1)电脑的内存是有限的,每个线程,都会占用内存,如果并发数量很多,内存会爆掉。
(2)使用线程池,当并发超过一定数量,则会排队,所以,并行的请求处理时间会被延长。

(1)使用 QueueUserWorkItem(worker thread)

(2)委托异步调用使用了线程池(worker thread)

(3)System.Threading.Timer 使用了线程池(worker thread)

(4)System.ComponentModel.BackgroundWorker使用了线程池(worker thread)

使用System.Threading.CancellationTokenSource

以上内容,仅仅代表个人理解,以及参考书资料的观点。
如果有错误,请及时指出,不要让错误的观点误导更多的人,感谢!

相似回答