fork(1) download
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace TestProject
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. CreateInstanceOfA();
  11. Console.ReadKey();
  12. }
  13.  
  14. static void CreateInstanceOfA()
  15. {
  16. var a = new A();
  17. }
  18. }
  19.  
  20. interface IA
  21. {
  22. void PrintHello();
  23. }
  24.  
  25. class A : IA
  26. {
  27. private B _b;
  28.  
  29. public A()
  30. {
  31. _b = new B(this);
  32. }
  33.  
  34. ~A()
  35. {
  36. Console.WriteLine("Instance of class A had been garbage-collected.");
  37. }
  38.  
  39. public void PrintHello()
  40. {
  41. Console.WriteLine("Hello from class A!");
  42. }
  43. }
  44.  
  45. class B
  46. {
  47. private IA _a;
  48. private bool _working;
  49.  
  50. public B(IA a)
  51. {
  52. _working = true;
  53. _a = a;
  54.  
  55. var workingThread = new Thread(ThreadProc);
  56. workingThread.Start();
  57. }
  58.  
  59. ~B()
  60. {
  61. _working = false;
  62. Console.WriteLine("Instance of class B had been garbage-collected.");
  63. }
  64.  
  65. private void ThreadProc()
  66. {
  67. while (_working)
  68. {
  69. _a.PrintHello();
  70. Thread.Sleep(100);
  71. }
  72. }
  73. }
  74. }
  75.  
Time limit exceeded #stdin #stdout 5s 38528KB
stdin
Standard input is empty
stdout
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!
Hello from class A!