I'm looking for a good library, preferably in C#, which I can use in a windows service and it will handle all the multithreading functionality needed.
The service will run every x minutes, check a database for processes to call, and for each of them spawn a thread and run it.
Each thread should handle exceptions, logging and such.
Any suggestions?
Consider this project http://www.codeplex.com/smartthreadpool
Project Description
Smart Thread Pool is a thread pool written in C#. It is far more advanced than the .NET built-in thread pool. Here is a list of the thread pool features:
This is a bit tongue in cheek, but how about the .NET Framework? The
System.Threading
namespace has everything you need for this.If you can use .NET 4, or the backport in the Rx Framework, the Task Parallel Library may make some of this a bit easier, as well, but even without that, the standard framework has everything you'd need.
If you need a scheduling library that has multi-threading support, I've used this before: Quartz.NET
http://quartznet.sourceforge.net/