private void RunConsumer(int messageCount, int runtime, int timeOut, int workerCount, int readerCount, int queueSize, int messageType, ITaskFactory factory) { var queue = new SimpleConsumerAsync(); queue.RunWithFactory(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, messageType, factory); }
public void Run(int messageCount, int runtime, int timeOut, int workerCount, int readerCount, int queueSize) { var factory = SimpleConsumerAsync.CreateFactory(workerCount, queueSize, out var schedulerContainer); using (schedulerContainer) { using (factory.Scheduler) { var task1 = Task.Factory.StartNew( () => RunConsumer(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, 1, factory)); var task2 = Task.Factory.StartNew( () => RunConsumer(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, 2, factory)); var task3 = Task.Factory.StartNew( () => RunConsumer(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, 3, factory)); Task.WaitAll(task1, task2, task3); } } }