作者:哓尐_271 | 来源:互联网 | 2023-09-23 15:27
在一个按钮事件中,多个线程(如线程A,B,C)等待一个线程(线程X)完成后,剩下的其他线程再开始执行,求助各位大神
9 个解决方案
你在线程X代码的最后一行,启动A,B,C不就达到你的目的了?
使用backgroundWorker
在backgroundWorker1_DoWork里执行线程X的内容
在backgroundWorker1_RunWorkerCompleted里执行线程A,B,C
完全符合backgroundWorker的设计要求
使用线程池,或者直接锁定线程,又或者锁定线程访问的对象都可以实现
Task reportData2 = Task.Factory.StartNew(() => ThreadProc_One())
.ContinueWith(() => ThreadProc_Two())
.ContinueWith(() => ThreadProc_Three());
ThreadProc_One, Two, Three, 是你的三个线程函数。把这行代码拷贝到你的代码中,就可运行。
上面代码执行顺序: 先运行One,完成后调用Two。最后调用Three。