AutoResetEvent用户多个线程传递共享信息:
public class AutoReset { static AutoResetEvent autoR = new AutoResetEvent(false); static string data =""; public void Main() { Task.Run(() => { GetDataServer(); }); autoR.WaitOne(); Console.WriteLine(data); Console.ReadKey(); } public void GetDataServer() { Thread.Sleep(4000); data = "获得数据"; autoR.Set(); } }
autoR.WaitOne()会等待autoR.Set()执行完了才会执行。另外可以结合线程安全字典集合ConcurrentDictionary来用。