[.net 多线程]ThreadPool
1 CancellationTokenSource tocken = new CancellationTokenSource(); 2 ThreadPool.QueueUserWorkItem(param => { 3 Console.WriteLine($"当前线程【{Thread.CurrentThread.ManagedThreadId}】"); 4 Thread.Sleep(1000); 5 Console.WriteLine($"当前线程【{Thread.CurrentThread.ManagedThreadId}】退出"); 6 }, tocken);
两种出发模式:定时8s出发,事件触发器出发(autoresetevent)
1 AutoResetEvent evt = new AutoResetEvent(false); 2 ThreadPool.RegisterWaitForSingleObject(evt, (state, isOut) => 3 { 4 CancellationTokenSource token = (CancellationTokenSource)state; 5 if (tocken.IsCancellationRequested) 6 { 7 Console.WriteLine("退出RWFS"); 8 return; 9 } 10 Console.WriteLine("RWFS..."); 11 }, tocken, 8000, false);
posted on 2018-05-22 22:47 DeeperMiner 阅读(140) 评论(0) 编辑 收藏 举报