A better more versatile way to do this is to use Task<> objects
public static class ThreadpoolExtensions
{
// Execute a method/procedure on the thread pool
// The state parameters allow you to pass parameters into the thread routine
public static bool ExecuteOnThreadPoolThread<T>(this Action<T> threadRoutine, T args)
{
return ThreadPool.QueueUserWorkItem(s => threadRoutine((T)s), args);
}
// Execute a method/procedure on the thread pool
public static bool ExecuteOnThreadPoolThread(this Action threadRoutine)
{
return ThreadPool.QueueUserWorkItem((obj) => threadRoutine());
}
}
No comments:
Post a Comment