Skip to main content
 首页 » 编程设计

C# 自已实现线程池

2022年07月19日15798°冷暖

.net内置的threadpool对于加入执行队列的任务,或是正在执行的任务无法取消,这对于我的项目来说有问题,因此要自定义一个线程池。

我的项目中具体的应用情节如下,某一个操作会非常耗时(将网址插入bdb中),如果将其加入线程池中,很可能将线程池中的资源耗尽,因此我希望我可以定义一个maxThreadNum用来控制执行此在操作最大允许同时执行的线程数,同时设定线程等级为最低ThreadPriority.Lowest,我只要这个操作慢慢执行就行了。

代码还需要重构,高手请指点下,对锁的机制还是不太清楚,

Code

测试代码

Code

本文参考链接:https://www.cnblogs.com/lexus/archive/2008/08/02/1258821.html