Ejemplo n.º 1
0
 static void Run()
 {
     while (true)
     {
         Debug.Print("await work item");
         var obj  = workItemQueue.Dequeue();     // may block!
         var item = (WorkItem)obj;
         Debug.Print("work item has been dequeued, process it");
         item.callback(item.state);
         Debug.Print("work item has been processed");
     }
 }
Ejemplo n.º 2
0
 static void Run()
 {
     while (true)
     {
         var obj  = workItemQueue.Dequeue();     // may block!
         var item = (WorkItem)obj;
         try
         {
             item.callback(item.state);
         }
         catch (Exception e)
         {
             Trace.Fail("ThreadPool.Run exception in callback:\r\n" + e);
         }
     }
 }