Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 多线程Windows服务的线程库_C#_Multithreading_Task Parallel Library_Threadpool_Scheduling - Fatal编程技术网

C# 多线程Windows服务的线程库

C# 多线程Windows服务的线程库,c#,multithreading,task-parallel-library,threadpool,scheduling,C#,Multithreading,Task Parallel Library,Threadpool,Scheduling,我正在寻找一个好的库,最好是C#,我可以在windows服务中使用它,它将处理所有需要的多线程功能 该服务将每x分钟运行一次,检查数据库中要调用的进程,并为每个进程生成一个线程并运行它 每个线程都应该处理异常、日志等 有什么建议吗?这有点开玩笑,但是.NET框架呢?名称空间包含了实现此目的所需的一切 如果您可以在Rx框架中使用.NET 4或backport,那么任务并行库也可以使其中的一些功能变得更简单,但即使没有它,标准框架也可以满足您的所有需要。考虑一下这个项目 项目说明 智能线程池是用C

我正在寻找一个好的库,最好是C#,我可以在windows服务中使用它,它将处理所有需要的多线程功能

该服务将每x分钟运行一次,检查数据库中要调用的进程,并为每个进程生成一个线程并运行它

每个线程都应该处理异常、日志等


有什么建议吗?

这有点开玩笑,但是.NET框架呢?名称空间包含了实现此目的所需的一切

如果您可以在Rx框架中使用.NET 4或backport,那么任务并行库也可以使其中的一些功能变得更简单,但即使没有它,标准框架也可以满足您的所有需要。

考虑一下这个项目

项目说明

智能线程池是用C#编写的线程池。它远比.NET内置线程池先进。 以下是线程池功能的列表:

  • 线程数根据池中线程的工作负载动态变化
  • 工作项可以返回一个值
  • 可以取消工作项
  • 在执行工作项时使用调用线程的上下文(受限)
  • 使用最少数量的Win32事件句柄,因此应用程序的句柄计数不会爆炸
  • 调用方可以等待多个或所有工作项完成
  • 工作项可以有一个PostExecute回调,该回调在工作项完成后立即调用
  • 工作项附带的状态对象可以自动释放
  • 将工作项异常发送回调用者
  • 工作项具有优先权
  • 工作项目组
  • 调用方可以挂起线程池和工作项组的开始
  • 线程具有优先级
  • 可以运行具有单线程单元的COM对象
  • 支持操作和函数委托
  • 支持WindowsCE(有限公司)
  • 可以在运行时更改MaxThreads和MinThreads
  • 取消行为是重要的

如果您需要具有多线程支持的调度库,我以前使用过:Quartz.NET


Reed,我正在寻找一个完整的解决方案,一个使用System.Threading的代码实现。不,我还不能用4.0。谢谢。你能使用Rx框架吗?它包括一个完整的任务并行库的后端口,它提供了大量的可用性(比我迄今为止看到的任何第三方库都好)。如果有人有更好的主意,我会等,否则我会把你的答案记下来。谢谢你能给我举个例子说明你是如何使用它的吗?网站上有一个很好的教程,但是你基本上设置了调度“触发器”(基于cron语法),确定作业何时触发,然后将特定作业与触发器相关联。Quartz.NET“调度程序”为您处理所有计时,并在设定的时间调用作业。我们用它来启动周期性的数据库查询,这会导致其他操作触发。。。我会好好看看的。它在Windows Server 2008中运行正常。有完整源代码示例的最终解决方案吗?