///
/// Enqeues and exectutes actions synchronously on seperated threads using the .
///
///
/// Syncronism is guaranteed on a per-instance base in that each enqued action will be executed
/// after the previous action has completed execution for each instance of
///
internal class ThreadPoolExectutor
{
///
/// Initializes a new instance of the class.
///
/// The absolute (not the initial) number of elements that the can contain.
public ThreadPoolExectutor(int capacity)
///
/// Occurs when exception occured during execution.
///
public event EventHandler ExceptionOccurred;
///
/// Enqueues a new action with a single parameter for execution on the thread pool.
///
///
/// The action to enqueue for execution.
///
///
/// The parameter for the action.
///
///
/// The type of the .
///
public void Execute(Action action, TArg param)
///
/// Enqueues a new action with no parameters for execution on the thread pool.
///
///
/// The action to enqueue for execution.
///
public void Execute(Action action)
}