comparison Util/WorkQueue.cs @ 86:5d1b72ba44dc

Small fixes in WorkQueue
author Ivo Smits <Ivo@UCIS.nl>
date Thu, 05 Jun 2014 00:24:24 +0200
parents b7bc27c6734e
children
comparison
equal deleted inserted replaced
85:40715b34d0d3 86:5d1b72ba44dc
71 } 71 }
72 private void Worker(Object state) { 72 private void Worker(Object state) {
73 while (true) { 73 while (true) {
74 TWork item; 74 TWork item;
75 lock (queue) { 75 lock (queue) {
76 if (workers >= maxWorkers) { 76 if (workers > maxWorkers) {
77 workers--; 77 workers--;
78 break; 78 break;
79 } 79 }
80 if (queue.Count == 0) { 80 if (queue.Count == 0) {
81 if (idleWorkers >= maxIdleWorkers) { 81 if (idleWorkers > maxIdleWorkers) {
82 workers--; 82 workers--;
83 queue.TrimExcess(); 83 queue.TrimExcess();
84 break; 84 break;
85 } 85 }
86 idleWorkers++; 86 idleWorkers++;