public ThrottledQueue(string threadPoolName, string dispatcherQueueName, 
     PostMessageDelegate postMessage, int maxPoolItemReuse)
 {
     matchMaker = new MatchMaker(maxPoolItemReuse);
     dispatcher = new Dispatcher(1, threadPoolName);
     dispatcherQueue = new DispatcherQueue(dispatcherQueueName, dispatcher);
     messagePort = new Port<QueueItem>();
     Handler<QueueItem> handler = new Handler<QueueItem>(postMessage);
     Arbiter.Activate(dispatcherQueue, Arbiter.Receive(true, messagePort, handler));
 }