public void Run(int messageCount, int runtime, int timeOut, int workerCount, int readerCount, int queueSize, ConnectionInfoTypes type) { 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, // ReSharper disable once AccessToDisposedClosure queueSize, 1, factory, type)); var task2 = Task.Factory.StartNew( () => RunConsumer(messageCount, runtime, timeOut, workerCount, readerCount, // ReSharper disable once AccessToDisposedClosure queueSize, 2, factory, type)); var task3 = Task.Factory.StartNew( () => RunConsumer(messageCount, runtime, timeOut, workerCount, readerCount, // ReSharper disable once AccessToDisposedClosure queueSize, 3, factory, type)); Task.WaitAll(task1, task2, task3); } } }
private void RunConsumer(int messageCount, int runtime, int timeOut, int workerCount, int readerCount, int queueSize, int messageType, ITaskFactory factory, ConnectionInfoTypes type) { var queue = new SimpleConsumerAsync(); queue.RunWithFactory(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, messageType, factory, type); }
private void RunConsumer(int messageCount, int runtime, int timeOut, int workerCount, int readerCount, int queueSize, int messageType, ITaskFactory factory, ConnectionInfoTypes type) { var queue = new SimpleConsumerAsync(); queue.Run(messageCount, runtime, timeOut, workerCount, readerCount, queueSize, messageType, factory, type); }