コード例 #1
0
 private void createPlayerThreads(WorkerThreadStart <SensorData> threadStart)
 {
     foreach (var player in playerId_playerState)
     {
         WorkerThread <SensorData> worker = new WorkerThread <SensorData>(threadStart, player.Value);
         playerId_playerThread.Add(player.Key, worker);
         worker.Start();
     }
     playerId_playerThread_ro = new ReadOnlyDictionary <string, WorkerThread <SensorData> >(playerId_playerThread);
 }
コード例 #2
0
 private void createPlayerThreads(WorkerThreadStart <PlayerData> threadStart)
 {
     foreach (var player in playerId_playerState)
     {
         WorkerThread <PlayerData> worker =
             new WorkerThread <PlayerData>(threadStart, player.Value);
         playerId_playerThread.Add(player.Key, worker);
         worker.Start();
     }
 }
コード例 #3
0
 public WorkerThread(WorkerThreadStart <T> starter, object obj)
 {
     if (starter == null)
     {
         throw new ArgumentNullException("threadstart missing");
     }
     threadStart     = starter;
     queue           = new MessageQueue <T>();
     threadCondition = new ManualResetEvent(false);
     state           = obj;
     workerStateLock = new object();
 }
コード例 #4
0
 public WorkerThread(WorkerThreadStart <T> starter) : this(starter, null)
 {
 }