Exemple #1
0
        /// <summary>
        /// 线程初始化
        /// </summary>
        public CometThread(IChatSessionManager sessionManager)
        {
            CometRequestList = new LinkedList<ICometRequest>();
            //使用事件驱动
            SessionRaisedMode = SessionTriggerMode.EventTrigger;
            CometChatMessage = new List<ChatMessageModel>();

            SessionManager = sessionManager;
            ChatThread = new Thread(new ThreadStart(CometThreadStart));
            ChatThread.IsBackground = false;
            ChatThread.Start();
        }
        /// <summary>
        /// 启动线程池,注册会话处理对象
        /// </summary>
        public static void Start(int threadCount, IChatSessionManager sessionManager)
        {
            if (threadCount < MaxThreadCount && threadCount > 0)
            {
                ThreadCount = threadCount;
            }
            else
            {
                ThreadCount = DefaultThreadCount;
            }

            CometThreads = new CometThread[ThreadCount];
            for (int i = 0; i < ThreadCount; i++)
            {
                CometThreads[i] = new CometThread(sessionManager);
            }
        }
 /// <summary>
 /// 启动线程池,注册会话处理对象
 /// </summary>
 public static void Start(IChatSessionManager sessionManager)
 {
     Start(DefaultThreadCount, sessionManager);
 }