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)); }