class Proigram
{
private static void AsyncOperation( object state)
{
Console.WriteLine( " Operation state={0} ", state);
Console.WriteLine( " work thread id={0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(TimeSpan.FromSeconds( 2));
}
static void Main()
{
const int x = 1;
const int y = 2;
const string lambdaState = " lambda state 2 ";
ThreadPool.QueueUserWorkItem(AsyncOperation);
Thread.Sleep(TimeSpan.FromSeconds( 1));
ThreadPool.QueueUserWorkItem(AsyncOperation, " saync state ");
Thread.Sleep(TimeSpan.FromSeconds( 1));
ThreadPool.QueueUserWorkItem(state => {
Console.WriteLine( " Operation state :{0} ", state);
Console.WriteLine( " ThreadId={0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep( 5);
}, " lambda state ");
ThreadPool.QueueUserWorkItem(_ => {
Console.WriteLine( " operation state:{0},{1} ", x + y, lambdaState);
Console.WriteLine( " worker thread id :{0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep( 4);
}, " lambda state ");
Thread.Sleep(TimeSpan.FromSeconds( 2));
}
}
{
private static void AsyncOperation( object state)
{
Console.WriteLine( " Operation state={0} ", state);
Console.WriteLine( " work thread id={0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(TimeSpan.FromSeconds( 2));
}
static void Main()
{
const int x = 1;
const int y = 2;
const string lambdaState = " lambda state 2 ";
ThreadPool.QueueUserWorkItem(AsyncOperation);
Thread.Sleep(TimeSpan.FromSeconds( 1));
ThreadPool.QueueUserWorkItem(AsyncOperation, " saync state ");
Thread.Sleep(TimeSpan.FromSeconds( 1));
ThreadPool.QueueUserWorkItem(state => {
Console.WriteLine( " Operation state :{0} ", state);
Console.WriteLine( " ThreadId={0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep( 5);
}, " lambda state ");
ThreadPool.QueueUserWorkItem(_ => {
Console.WriteLine( " operation state:{0},{1} ", x + y, lambdaState);
Console.WriteLine( " worker thread id :{0} ", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep( 4);
}, " lambda state ");
Thread.Sleep(TimeSpan.FromSeconds( 2));
}
}