private WorkItemProcessor(int numberStatThreads, int numberNormalThreads, string name) { _name = name; _threadStop = new ManualResetEvent(false); _threadPool = new WorkItemThreadPool(numberStatThreads,numberNormalThreads) { ThreadPoolName = name + " Pool" }; var ep = new WorkItemProcessorFactoryExtensionPoint(); object[] factories = ep.CreateExtensions(); if (factories == null || factories.Length == 0) { // No extension for the workqueue processor. Platform.Log(LogLevel.Fatal, "No WorkItemFactory Extensions found."); } else { foreach (object obj in factories) { var factory = obj as IWorkItemProcessorFactory; if (factory != null) { var type = factory.GetWorkQueueType(); _extensions.Add(type, factory); } else Platform.Log(LogLevel.Error, "Unexpected incorrect type loaded for extension: {0}", obj.GetType()); } } }
private WorkItemProcessor(int numberStatThreads, int numberNormalThreads, string name) { _name = name; _threadStop = new ManualResetEvent(false); _threadPool = new WorkItemThreadPool(numberStatThreads, numberNormalThreads) { ThreadPoolName = name + " Pool" }; var ep = new WorkItemProcessorFactoryExtensionPoint(); object[] factories = ep.CreateExtensions(); if (factories == null || factories.Length == 0) { // No extension for the workqueue processor. Platform.Log(LogLevel.Fatal, "No WorkItemFactory Extensions found."); } else { foreach (object obj in factories) { var factory = obj as IWorkItemProcessorFactory; if (factory != null) { var type = factory.GetWorkQueueType(); _extensions.Add(type, factory); } else { Platform.Log(LogLevel.Error, "Unexpected incorrect type loaded for extension: {0}", obj.GetType()); } } } }