子线程中开启子线程 如何控制子线程被执行完才执行主线程?
如何控制子线程被执行完才执行主线程?
线程。连接没关系。为什么称之为线程队列?线程根本不排队,执行后会消失。但是,主线程必须阻塞等待这些连接的线程,这不会浪费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()
子线程中开启子线程 主线程和子线程的关系 主线程等待子线程结束
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。