
正文
java让代码等待执行,Java代码执行顺序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
我想知道JAVA多线程中,如何让一个线程去等待N个线程执行完成后,再执行...
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
设置一个计数器,每个线程执行完后计数器加一然后查看计数器是否已满(任务都完成),没有的话就阻塞,是的话就唤醒其他所有线程,大家一起来执行下一次任务。
这里简单的做一个小demo,项目的结构如图所示,就一个文件即可。使用for循环将num每次减一输出,这里是使用的是实现runnable接口。这里创建了三个进程作为多个线程的测试,代码如图所示,。
这里抛出的子线程可能递归的调用自己,就是再抛一个他的子线程出来,但是到底一共抛多少,事先是不知道的。
Java Thread中, join() 方法主要是让调用改方法的thread完成run方法里面的东西后, 在执行join()方法后面的代码。
synchronized(b) b.wait();//a线程中采用同步,并进行等待 c.execute();在b线程结束时调用synchronized(this) notify();这样就可以达到b不结束,a线程就不会继续执行c。
相关问答
Q1: java中请问如何等待一个线程结束在运行其他的代码?
1、你可以用布尔值来控制是否让线程运行。例:while(boolean isLive){} 当isLive为true线程就运行,否则不运行。你可以用对象。
2、t.start();然后让以上操作循环五次(就是说同时开5个线程),那么这个ok就会在等到这5个线程都ok后才会被输出一次。
3、Java Thread中, join() 方法主要是让调用改方法的thread完成run方法里面的东西后, 在执行join()方法后面的代码。
4、thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
5、第一种:实现Callable类,使用有返回值的线程,只有线程执行完成后才会返回结果。
6、打个比方:两个人抢东西,A抢到了B没有,再把东西放回去重抢,说不定还是A抢到B没有。
Q2: java中如何是方法延迟执行?
Java中主要有以下方法来实现延迟 普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。
可以试试java.lang.Thread里的sleep方法 public static void sleep(long millis)throws InterruptedException在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
我的思路是完成审批操作后把时间存入数据库中,审批修改操作:读取数据库的时间判断是否能修改(就是时间值是否是10分钟之内。
Java中的Timer类可以实现经过指定时间再执行方法,Timer方法如下:schedule(TimerTask task, Date time) // 安排在指定的时间执行指定的任务。schedule(TimerTask task, long delay)// 安排在指定延迟后执行指定的任务。
Q3: 在java一个方法中,如何让一行代码执行完毕以后等待几秒钟后再执行另一...
1、如果没有直接性的调用同类里的其他接口,或者返回,结束等java关键字,代码还是得往下执行的。
2、thread.sleep(10000);下面要执行的语句 } 希望能帮到你,望采纳。
3、你好,只要你不是异步处理,将这两段程序封装到两个方法中,然后顺序调用,就可以实现你的要求。
4、tstart();} } t3,t4都格式都一样,我就不排了。
5、我的思路是完成审批操作后把时间存入数据库中,审批修改操作:读取数据库的时间判断是否能修改(就是时间值是否是10分钟之内。
Q4: java等待10秒在运行怎么写代码
1、{ thread.sleep(10000);下面要执行的语句 } 希望能帮到你,望采纳。
2、延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。
3、用Runtime类可以实现。String cmd=yourfile.exe;//如需多个参数,可以改成String[]cmd,然后cmd[i]放置命令参数。
4、在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。
5、前端等待是没办法的,后面慢,前面只有排队了。线程满的话,最好的方式是采用非阻塞的IO(NIO),不过那个很难做到。你提出的10秒终止方法是一种方案,不过关键在于如何终止一个方法的运行。
java让代码等待执行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java代码执行顺序、java让代码等待执行的信息别忘了在本站进行查找喔。








