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 StopWordsProcessor( IMessageQueue inputQueue, IMessageQueue outputQueue, ITinyThreadPool threadPool, IDataSerializer dataSerializer) { _inputQueue = inputQueue; _outputQueue = outputQueue; _threadPool = threadPool; }
public void Default_NewThreadPool_Success() { ITinyThreadPool threadPool = TinyThreadPool.Default; Assert.Equal(MultiThreadingCapacity.PerProcessor, threadPool.MultiThreadingCapacity); Assert.Equal(Environment.ProcessorCount * 1, threadPool.MinThreads); Assert.Equal(Environment.ProcessorCount * 5, threadPool.MaxThreads); Assert.Equal("TinyThreadPool", threadPool.Name); threadPool.Dispose(); threadPool.Dispose(); }
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()); }
private static void Main() { _threadPool = TinyThreadPool.Default; AddTasks(); Console.ReadKey(); }