java中请问如何等待一个线程结束在运行其他的代码?
情况是这样的,我在一个类a中调用了另外两个类b和c,先调用了继承线程的类b,只有一个线程,然后接着调用了类c,这样就出问题了,因为类c需要类b线程运行完后的结果,但是程序...
情况是这样的,我在一个类a中调用了另外两个类b和c,先调用了继承线程的类b,只有一个线程,然后接着调用了类c,这样就出问题了,因为类c需要类b线程运行完后的结果,但是程序在b的线程还没有运行完时就开始运行类c了,这样就导致了c没有需要的数据,并引发了错误,请各位大大帮忙解决下。说的思路如何搞啊?
哎,我的想法可能有些偏离线程的主题了,要么都用线程,要么不用,谢谢大家了! 展开
哎,我的想法可能有些偏离线程的主题了,要么都用线程,要么不用,谢谢大家了! 展开
展开全部
看你的描述,感觉少说明一点。B生成的数据是存数据库中,还是在缓存中。
但基本解决方法应该有两种:
一种:把C的逻辑代码放入B中,顺序执行。
另一种:把A也做成线程,周期用C去读B生成的数据,可以用if null 关键字来控制有没获取到
但基本解决方法应该有两种:
一种:把C的逻辑代码放入B中,顺序执行。
另一种:把A也做成线程,周期用C去读B生成的数据,可以用if null 关键字来控制有没获取到
更多追问追答
追问
如果把A也做成线程的话好像不太可能,其实a是一个actionform具体用来操作文件转换的,b类转换一种格式,然后再用c类接着转换成另一种格式,由于b类需要用到一个服务,由于服务是线程不安全的所以启动了线程,而c类只是调用了process引用本地程序而已,如果没有其他方法的话a,b,c
类估计都要继承Thread类才能解决问题,或者除非b不用线程。所以我想能不能有其他的办法。
追答
B类发个执行成功的状态给A,如何?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那B类一定要继承线程嘛,用run方法,B线程跑完后才会运行下面的程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线程锁
1.synchronized
1.synchronized
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询