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); }
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(); } }
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(); }
public WorkerThread(WorkerThreadStart <T> starter) : this(starter, null) { }