using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Runtime.CompilerServices;
namespace TestMethodSynchronized
{
class SyncHelper
{
static int cnt = 0;
[MethodImpl(MethodImplOptions.Synchronized)]
public static void Execute(object state)
{
int t = cnt;
Console.WriteLine("ThreadId:{2,-5}, Sate:{1},Excute at {0},计时器:{3}", DateTime.Now, state.ToString(),
Thread.CurrentThread.ManagedThreadId, t);
Thread.Sleep(500);
++t;
cnt = t;
}
}
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
ThreadPool.QueueUserWorkItem(SyncHelper.Execute,i);
}
Console.WriteLine("done.");
Console.ReadKey();
}
}
}