SmartThreadPool v1.0
This commit is contained in:
Ami Bar
2009-12-19 16:27:08 +02:00
parent 8d9c132b24
commit b30b4abdda
65 changed files with 11818 additions and 27 deletions
+39
View File
@@ -0,0 +1,39 @@
using System;
using Amib.Threading;
namespace Examples
{
public class SuspendedWIGStartExample
{
public void DoWork(object [] states)
{
SmartThreadPool smartThreadPool = new SmartThreadPool();
WIGStartInfo wigStartInfo = new WIGStartInfo();
wigStartInfo.StartSuspended = true;
IWorkItemsGroup wig = smartThreadPool.CreateWorkItemsGroup(1, wigStartInfo);
foreach(object state in states)
{
wig.QueueWorkItem(new
WorkItemCallback(this.DoSomeWork), state);
}
// Start working on the work items in the work items group queue
wig.Start();
// Wait for the completion of all work items
wig.WaitForIdle();
smartThreadPool.Shutdown();
}
private object DoSomeWork(object state)
{
// Do the work
return null;
}
}
}