2 using System
.Collections
;
3 using System
.Threading
;
7 static ManualResetEvent dispose
= new ManualResetEvent (false);
8 static ManualResetEvent wait
= new ManualResetEvent (false);
10 static IEnumerable
GetIt2 ()
12 yield return Delay ();
23 public static int Main ()
25 var e
= GetIt2 ().GetEnumerator ();
26 ThreadPool
.QueueUserWorkItem (l
=> {
28 ((IDisposable
) e
).Dispose ();
38 Console
.WriteLine (e
.Current
);
39 if ((int) e
.Current
!= 1)