comparison Implab.Test/AsyncTests.cs @ 17:7cd4a843b4e4 promises

Improved worker pool
author cin
date Fri, 08 Nov 2013 01:25:42 +0400
parents 5a4b735ba669
children e3935fdf59a2
comparison
equal deleted inserted replaced
16:5a4b735ba669 17:7cd4a843b4e4
97 Assert.AreNotEqual(pid, p.Join()); 97 Assert.AreNotEqual(pid, p.Join());
98 } 98 }
99 99
100 [TestMethod] 100 [TestMethod]
101 public void WorkerPoolSizeTest() { 101 public void WorkerPoolSizeTest() {
102 var pool = new WorkerPool(5, 10); 102 var pool = new WorkerPool(5, 10, 0);
103 103
104 Assert.AreEqual(5, pool.ThreadCount); 104 Assert.AreEqual(5, pool.ThreadCount);
105 105
106 pool.Invoke(() => { Thread.Sleep(1000000); return 10; }); 106 pool.Invoke(() => { Thread.Sleep(1000000); return 10; });
107 pool.Invoke(() => { Thread.Sleep(1000000); return 10; }); 107 pool.Invoke(() => { Thread.Sleep(1000000); return 10; });
117 pool.Dispose(); 117 pool.Dispose();
118 } 118 }
119 119
120 [TestMethod] 120 [TestMethod]
121 public void WorkerPoolCorrectTest() { 121 public void WorkerPoolCorrectTest() {
122 var pool = new WorkerPool(); 122 var pool = new WorkerPool(0,1000,100);
123 123
124 int iterations = 1000; 124 int iterations = 1000;
125 int pending = iterations; 125 int pending = iterations;
126 var stop = new ManualResetEvent(false); 126 var stop = new ManualResetEvent(false);
127 127
242 } 242 }
243 243
244 [TestMethod] 244 [TestMethod]
245 public void ChainedMapTest() { 245 public void ChainedMapTest() {
246 246
247 using (var pool = new WorkerPool(1,10)) { 247 using (var pool = new WorkerPool(8,100,0)) {
248 int count = 10000; 248 int count = 10000;
249 249
250 double[] args = new double[count]; 250 double[] args = new double[count];
251 var rand = new Random(); 251 var rand = new Random();
252 252