private void InitThread(ClientAsyncActionProcessor asyncActionQueue) { #if !PLATFORM_WEBGL m_Thread = new Thread(this.Loop); #else m_Thread = new Thread(CustomThreadLoop); #endif m_ActionQueue = asyncActionQueue; }
private void InitTaskThreads(int threadNum, bool isPassive) { if (isPassive) { m_ActionQueue = new ClientAsyncActionProcessor(); } m_Threads = new MyClientThread[threadNum]; for (int i = 0; i < threadNum; ++i) { MyClientThread thread = null; if (isPassive) { thread = new MyClientThread(m_ActionQueue);//线程主动取策略 } else { thread = new MyClientThread();//dispatcher主动推策略 } m_Threads[i] = thread; thread.Start(); } }
public MyClientThread(int tickSleepTime, int actionNumPerTick, ClientAsyncActionProcessor asyncActionQueue) { m_TickSleepTime = tickSleepTime; m_ActionNumPerTick = actionNumPerTick; InitThread(asyncActionQueue); }
public MyClientThread(int tickSleepTime, ClientAsyncActionProcessor asyncActionQueue) { m_TickSleepTime = tickSleepTime; InitThread(asyncActionQueue); }
private void InitThread(ClientAsyncActionProcessor asyncActionQueue) { m_Thread = new Thread(this.Loop); m_ActionQueue = asyncActionQueue; }
public MyClientThread(ClientAsyncActionProcessor asyncActionQueue) { InitThread(asyncActionQueue); }