using System; using System.Threading; public class Test { static void Main(string[] args) { ThreadManager.CurrentSession = 0; for (int i = 0; i < 10; i++) { CreateWork objCreateWork = new CreateWork(); ThreadStart start = new ThreadStart(objCreateWork.ProcessQuickPLan); new Thread(start).Start(); } Console.ReadLine(); } class CreateWork { private object CurrentSession = -1; private static object SessionLock = -1; public void ProcessQuickPLan() { lock (SessionLock) { CurrentSession = ThreadManager.CurrentSession; Console.WriteLine(CurrentSession); ThreadManager.CurrentSession = Convert.ToInt32(ThreadManager.CurrentSession) + 1; } } } class ThreadManager { public static object CurrentSession { get; set; } } }