private void RegisterMessageQueue() { ITinyThreadPool threadPool = TinyThreadPool.Create(x => { x.MaxThreads = 3; x.MultiThreadingCapacity = MultiThreadingCapacity.PerProcessor; }); IMessageQueue inputQueue = QueueConfiguration.Create() .Configure(config => { config.DataSerializer = KernelInstance.Get <IDataSerializer>(); config.QueueUrl = _settings.InputTweetQueueUrl; }).CreateLocalQueue(); IMessageQueue outputQueue = QueueConfiguration.Create() .Configure(config => { config.DataSerializer = KernelInstance.Get <IDataSerializer>(); config.QueueUrl = _settings.OutputTweetQueueUrl; }).CreateLocalQueue(); Bind <StopWordsProcessor>().ToConstructor(x => new StopWordsProcessor(inputQueue, outputQueue, threadPool, x.Inject <IDataSerializer>())) .InSingletonScope(); }
public void Create_InvalidThreadRange_ThrowException(int minThreads, int maxThreads) { Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x => { x.MinThreads = minThreads; x.MaxThreads = maxThreads; })); }
private static void Main() { // create default TinyThreadPool instance or thru method TinyThreadPool.Create // _threadPool = TinyThreadPool.Default; _threadPool = TinyThreadPool.Create(x => { x.Name = "My ThreadPool"; x.MinThreads = 2; x.MaxThreads = 10; x.MultiThreadingCapacity = MultiThreadingCapacity.Global; }); AddTasks(); Console.ReadKey(); }
public void Create_NewThreadPool_Success() { const string Name = "MyThreadPool"; const int MinThreads = 4; const int MaxThreads = 6; const MultiThreadingCapacity MultiThreadingCapacity = MultiThreadingCapacity.Global; ITinyThreadPool threadPool = TinyThreadPool.Create(x => { x.Name = Name; x.MinThreads = MinThreads; x.MaxThreads = MaxThreads; x.MultiThreadingCapacity = MultiThreadingCapacity; }); Assert.Equal(MultiThreadingCapacity, threadPool.MultiThreadingCapacity); Assert.Equal(MinThreads, threadPool.MinThreads); Assert.Equal(MaxThreads, threadPool.MaxThreads); Assert.Equal(Name, threadPool.Name); Console.WriteLine(threadPool.ToString()); }
public void Create_InvalidTaskQueue_ThrowException() { Assert.Throws <ArgumentNullException>(() => TinyThreadPool.Create(x => { x.TaskQueueController = new DefaultTaskQueueController(null); })); }
public void Create_InvalidTaskQueueController_ThrowException() { Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x => { x.TaskQueueController = null; })); }
public void Create_InvalidName_ThrowException(string name) { Assert.Throws <ConfigurationErrorsException>(() => TinyThreadPool.Create(x => { x.Name = name; })); }