关于线程的执行顺序问题,请指教

lci21 2005-08-18 08:37:37
我有两类线程A和B,A和B的业务逻辑不同,相互之间独立,
我想问一下,怎样保证所有的A类线程执行完以后才开始执行B类线程?谢谢
...全文
234 点赞 收藏 14
写回复
14 条回复
inexplicable 2005年08月19日
比较符合你的要求的方法有两个,
1) wait + notify
B 线程 wait, 直到A notify

2) 这个有要求,要 A是子线程,B是主线程
A.join()
A结束后B 才继续执行。
回复 点赞
ChDw 2005年08月19日
如果这样,你还是在线程C中使用ThreadGroupA,所有的线程A都属于ThreadGroupA
然后在C中调用ThreadGroupA的activeCount() 来看看是不是所有的A都已经结束了
回复 点赞
laxxx6 2005年08月19日
不懂,学习中....帮你顶...
回复 点赞
lci21 2005年08月19日
我的是A和B都会放到线程池里面,又没有办法控制线程池里面的A类线程先执行,B类线程等待所有A类线程执行完后才执行?
回复 点赞
lci21 2005年08月18日
关键是我怎么才能知道A这一组线程完全执行完了?有什么好的办法吗?
监控线程能解决吗?怎么用的?能否给个大致的示例,非常感谢
回复 点赞
interhanchi 2005年08月18日
那你在a执行完后,再start b不就行了!
回复 点赞
lci21 2005年08月18日
没有别的方法吗?
回复 点赞
superslash 2005年08月18日
寒楼上的
线程概念不是你理解的这个意思
回复 点赞
iamthebest1983923 2005年08月18日
设置A的优先级别比B高
A.setPriority(int a);
B.setPriority(int b);
a>b
回复 点赞
muroachanf 2005年08月18日
java里面的用法不会
回复 点赞
superslash 2005年08月18日
个人认为这样干脆不用线程得了
回复 点赞
shoulders 2005年08月18日
使用线程的join()方法.
回复 点赞
lci21 2005年08月18日
A和B都不是一个,都有很多
回复 点赞
ChDw 2005年08月18日
你的线程A是一组线程还是一个啊,如果是一个那还有必要吗?

你启动一个线程C,在线程C中调用A的run方法(不是start,即不会启动另外一个线程),然后再调用B的run方法,这样就可以保证顺序啦
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告