Changeset 6460 for trunk/sources/HeuristicLab.Problems.ExternalEvaluation
- Timestamp:
- 06/21/11 11:11:38 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/ExternalEvaluator.cs
r6189 r6460 59 59 #region Fields 60 60 protected HashSet<IEvaluationServiceClient> activeClients = new HashSet<IEvaluationServiceClient>(); 61 protected object clientLock = new object(); 62 protected AutoResetEvent clientAvailable = new AutoResetEvent(false); 61 protected object clientLock = new object(); 63 62 #endregion 64 63 … … 109 108 client = Clients.CheckedItems.FirstOrDefault(c => !activeClients.Contains(c)); 110 109 while (client == null && Clients.Count > 0) { 111 Monitor.Exit(clientLock); 112 clientAvailable.WaitOne(); 113 Monitor.Enter(clientLock); 110 Monitor.Wait(clientLock); 114 111 client = Clients.CheckedItems.FirstOrDefault(c => !activeClients.Contains(c)); 115 112 } … … 122 119 lock (clientLock) { 123 120 activeClients.Remove(client); 124 clientAvailable.Set();121 Monitor.PulseAll(clientLock); 125 122 } 126 123 }
Note: See TracChangeset
for help on using the changeset viewer.