我正在寻找一个好的库,最好是在C#中,我可以在
Windows服务中使用它,它将处理所需的所有多线程功能.
该服务将每隔x分钟运行一次,检查数据库是否有要调用的进程,并为每个进程生成一个线程并运行它.
每个线程都应该处理异常,日志记录等.
有什么建议?
解决方法
考虑这个项目
http://www.codeplex.com/smartthreadpool
http://www.codeplex.com/smartthreadpool
项目描述
Smart Thread Pool是一个用C#编写的线程池.它比.NET内置线程池更先进.
以下是线程池功能的列表:
>线程数根据池中线程的工作负载动态更改.>工作项可以返回值.>可以取消工作项.>执行工作项(限制)时使用调用者线程的上下文.>使用最少数量的Win32事件句柄,因此应用程序的句柄计数不会爆炸.>呼叫者可以等待多个或所有工作项完成.>工作项可以有一个PostExecute回调,在工作项完成后立即调用.>可以自动处理工作项附带的状态对象.>工作项例外将发送回调用者.>工作项目优先.>工作项目组.>调用者可以暂停线程池和工作项组的启动.>线程优先.>可以运行具有单线程单元的COM对象.>支持Action和Func委托.>支持WindowsCE(有限)> MaxThreads和MinThreads可以在运行时更改.>取消行为得到了改善.