2016 - 2024

感恩一路有你

子线程中开启子线程 如何控制子线程被执行完才执行主线程?

浏览量:2807 时间:2021-03-16 17:51:40 作者:admin

如何控制子线程被执行完才执行主线程?

线程。连接没关系。为什么称之为线程队列?线程根本不排队,执行后会消失。但是,主线程必须阻塞等待这些连接的线程,这不会浪费CPU。不,不,@赵杰

定义一个委托回调函数

public delegate void callbackdelegate(字符串消息)

程序启动时

//将回调方法赋给委托变量

callbackdelegate CBD=callback

//start thread

thread th=new thread(fun)开始(CBD)//启动thread,并替换参数

//参数为委托的线程执行方法。线程中的参数需要使用对象类型。

public void fun(object o)

{

//这是您的操作代码,loop,根据while

while(true)

{

}

//将传递的参数转换为委托

callbackdelegate CBD=O as callbackdelegate

//执行回调。

CBD(“此线程返回的信息”

]}

]//回调方法

私有void回调(字符串消息){

//主线程报告信息,可以用来判断和执行不同的逻辑MessageBox.显示(message)

}

c#子线程执行完怎么通知主线程?

首先,子线程必须由主线程启动,所以严格来说,子线程结束后不可能执行主线程。您的意思应该是:在主线程创建了子线程之后,等待子线程退出,然后继续。代码没有太大问题,只是join方法的位置不正确。螺纹1。Start()//启动所有子线程thread2。开始()线程3。开始()线程4。开始()线程5。开始()线程1。Join()//然后等待子线程退出thread2。Join()线程3。Join()线程4。Join()线程5。Join()前面的代码:thread1。Start()//线程1启动线程1。Join()//等待线程1退出。在线程1退出之前,以下代码无法执行线程2。start()//上面描述了下面的代码。thread2.Join()thread3.Start()thread3.Join()thread4.Start()thread4.Join()

子线程中开启子线程 主线程和子线程的关系 主线程等待子线程结束

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。