Beispiel #1
0
 /// <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();
 }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
 /// <summary>
 /// 启动线程池,注册会话处理对象
 /// </summary>
 public static void Start(IMessageSessionManager sessionManager)
 {
     Start(DefaultThreadCount, sessionManager);
 }