fork(2) download
  1. using System;
  2. using System.Threading;
  3.  
  4. public class Test
  5. {
  6. static void Main(string[] args)
  7. {
  8. ThreadManager.CurrentSession = 0;
  9. for (int i = 0; i < 10; i++)
  10. {
  11. CreateWork objCreateWork = new CreateWork();
  12. ThreadStart start = new ThreadStart(objCreateWork.ProcessQuickPLan);
  13. new Thread(start).Start();
  14. }
  15. Console.ReadLine();
  16. }
  17.  
  18. class CreateWork
  19. {
  20. private object CurrentSession = -1;
  21. private static object SessionLock = -1;
  22. public void ProcessQuickPLan()
  23. {
  24. lock (SessionLock)
  25. {
  26. CurrentSession = ThreadManager.CurrentSession;
  27. Console.WriteLine(CurrentSession);
  28. ThreadManager.CurrentSession = Convert.ToInt32(ThreadManager.CurrentSession) + 1;
  29. }
  30. }
  31. }
  32.  
  33. class ThreadManager
  34. {
  35. public static object CurrentSession
  36. {
  37. get;
  38. set;
  39. }
  40. }
  41.  
  42. }
Success #stdin #stdout 0.03s 41168KB
stdin
Standard input is empty
stdout
0
1
2
3
4
5
6
7
8
9