/// <summary> /// 线程初始化 /// </summary> public MessageThread(IMessageSessionManager sessionManager, SessionTriggerMode mode = SessionTriggerMode.Event) { _requestList = new LinkedList <MessageRequest>(); //使用事件驱动 _mode = mode; _manager = sessionManager; _thread = new Thread(new ThreadStart(MessageThreadStart)); _thread.IsBackground = false; _thread.Start(); }
/// <summary> /// 启动线程池,注册会话处理对象 /// </summary> public static void Start(int threadCount, IMessageSessionManager sessionManager) { _manager = sessionManager; if (threadCount < MaxThreadCount && threadCount > 0) { _threadCount = threadCount; } else { _threadCount = DefaultThreadCount; } _threads = new MessageThread[_threadCount]; for (int i = 0; i < _threadCount; i++) { _threads[i] = new MessageThread(_manager); } }
/// <summary> /// 启动线程池,注册会话处理对象 /// </summary> public static void Start(IMessageSessionManager sessionManager) { Start(DefaultThreadCount, sessionManager); }