如何保证一个方法执行完毕后才向下执行

SuperCustomer 2010-05-17 10:19:24
我在for循环里面调用一个方法,执行该方法需要很长时间,每次一个方法还没执行完毕,循环又进行下一次,如何才能让一个方法执行完毕后,才进行下一次循环?
...全文
680 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
SuperCustomer 2010-05-21
  • 打赏
  • 举报
回复
晕,进度条又显示不了
圣诞老人123 2010-05-18
  • 打赏
  • 举报
回复
使用join
chenying0804 2010-05-18
  • 打赏
  • 举报
回复
加个判断看看
keeya0416 2010-05-18
  • 打赏
  • 举报
回复
楼主是不是因为线程间有公共变量所以需要前边的执行完了交给后边呢
那样的话给公共变量加个锁就可以了
angry_pig 2010-05-18
  • 打赏
  • 举报
回复
关注ing ....
liboofsc 2010-05-18
  • 打赏
  • 举报
回复
线程加个条件判断,执行完了再下一步啊。
awusoft 2010-05-18
  • 打赏
  • 举报
回复
如果说你不是使用了多线程的话,还会发生这样的事情,那就太怪了.......
Ark032425 2010-05-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 coldanimal 的回复:]
引用 6 楼 supercustomer 的回复:

被调用的方法里面启用了线程,这里不用线程不行,我要监听文件的解析进度,显示进度条,不用线程的话进度条显示不了。


这个简单哇 在新的线程里面调用thread.join();

这个东西的作用是这样的:

在子线程执行完毕之后再执行父线程
[/Quote]
join或自己写等待机制
SuperCustomer 2010-05-18
  • 打赏
  • 举报
回复
使用join就可以了,谢谢各位!
cs_hai 2010-05-17
  • 打赏
  • 举报
回复
先更正

while( flag == 0 ) {
Thread.sleep(100);
}


你在现实进度条的线程代码最后把flag设置为1
shine333 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bolink5 的回复:]

1、2L
正解
java是编译的,但执行还是解释执行的。所以就会比C和C++ 执行效率低啊
[/Quote]

不知所云?什么语言单线程下不是顺序执行?
一头头 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 supercustomer 的回复:]

被调用的方法里面启用了线程,这里不用线程不行,我要监听文件的解析进度,显示进度条,不用线程的话进度条显示不了。
[/Quote]

这个简单哇 在新的线程里面调用thread.join();

这个东西的作用是这样的:

在子线程执行完毕之后再执行父线程
shine333 2010-05-17
  • 打赏
  • 举报
回复
晕阿,这个就是线程同步问题。
obj.wait()
obj.notify()

或者使用ExecutorService, Callable, Future
SuperCustomer 2010-05-17
  • 打赏
  • 举报
回复
被调用的方法里面启用了线程,这里不用线程不行,我要监听文件的解析进度,显示进度条,不用线程的话进度条显示不了。
cs_hai 2010-05-17
  • 打赏
  • 举报
回复

int flag = 0;
void A(){
for(int i=1; i<99; i++) {
flag=0;
B();
if( flag==0 ) {
Thread.sleep(100);
}
}
}

void B() {

//....

flag = 1;
}

这样就可以了

循环次数少的话还可以开线程
循环上千次的话开线程也不是很好
bolink5 2010-05-17
  • 打赏
  • 举报
回复
1、2L
正解
java是编译的,但执行还是解释执行的。所以就会比C和C++ 执行效率低啊
  • 打赏
  • 举报
回复
建议楼主看看多线程机制吧
一头头 2010-05-17
  • 打赏
  • 举报
回复
是哦 单线程是顺序执行的
shine333 2010-05-17
  • 打赏
  • 举报
回复
单线程本来就是这样阿。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧