㈠ java 等待一秒方法
sleep是静态方法,它的调用会引起所有进程的休眠。
在等待的进程中执行notify()和wait()方法,在外面的进程计时,执行够一秒的时候放弃cpu,让之前的线程执行
㈡ java语言java类怎么等待10秒和执行下面的代码
{
thread.sleep(10000);
下面要执行的语句
}
希望能帮到你,望采纳。
㈢ Java或Cmd如何等待进程出现再执行命令并且循环执行
这种情况,一般采用阻塞式方法来实现的。
java中有很多方法都属于阻塞式方法,比如InputStream中的read()、readLine()方法和线程中sleep()方法以及DatagramSocket的receive等。
这里可调用线程的特有方法sleep 和start()来实现
staticvoidsleep(longmillis)在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
参考api编程就可以了
㈣ Java如何等待子线程执行结束
先调用
shutdown
在调用
isTerminated
例:
/*
* 采用线程池开启多个子线程,主线程等待所有的子线程执行完毕
*/
public static void moreThread() {
try {
int threadNum = 0;
for (int i = 0; i < 10; i++) {
threadNum++;
final int currentThreadNum = threadNum;
exe.execute(new Runnable() {
@Override
public void run() {
try {
System.out.println("子线程[" + currentThreadNum + "]开启");
Thread.sleep(1000*10);
} catch (InterruptedException e) {
e.printStackTrace();
}finally{
System.out.println("子线程[" + currentThreadNum + "]结束");
}
}
});
}
System.out.println("已经开启所有的子线程");
exe.shutdown();
System.out.println("shutdown():启动一次顺序关闭,执行以前提交的任务,但不接受新任务。");
while(true){
if(exe.isTerminated()){
System.out.println("所有的子线程都结束了!");
break;
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}finally{
System.out.println("主线程结束");
}
}
㈤ java如何等待方法内一个线程执行完毕
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
㈥ java 能否等待A执行10s;如果没有反应就继续执行下一条语句B
思路如下:
请求RPC接口时,通过新开启的线程去请求,当前线程睡眠10s,10s后判断如果返回对象为空(即没有返回),则程序停止等待,继续往下执行。
实现代码就自己写吧,记得采纳。
㈦ java并发编程学习:如何等待多个线程执行完成
实现方式多种多样,下面列两种供参考:
importjava.util.ArrayList;
importjava.util.List;
importjava.util.concurrent.*;
publicclassMain{
publicstaticvoidmain(String[]args)throwsInterruptedException,ExecutionException{
System.out.println("方式1");
System.out.println("================================================");
//方式1
//创建一个线程池,并创建10个线程放入线程池执行
ExecutorServicepool=Executors.newCachedThreadPool();
for(inti=0;i<10;i++){
pool.execute(newMyThread("线程"+i));
}
//线程池不再接收新任务
pool.shutdown();
//线程池中的所有线程都执行完pool.isTerminated()才返回true
while(!pool.isTerminated()){
Thread.sleep(100);
}
System.out.println("所有线程执行完成");
System.out.println(" 方式2");
System.out.println("================================================");
//方式2
ExecutorServicepool2=Executors.newCachedThreadPool();
List<Future>futures=newArrayList<>();
for(inti=0;i<10;i++){
//使用实现Callable接口的方式创建线程,通过Future可以获取线程中返回的结果
Futurefuture=pool2.submit(newMyThread2("线程"+i));
futures.add(future);
}
for(Futurefuture:futures){
//该方法会阻塞主线程,直到线程执行完成
future.get();
}
System.out.println("所有线程执行完成");
}
}
classMyThreadextendsThread{
privateStringname;
publicMyThread(Stringname){
this.name=name;
}
@Override
publicvoidrun(){
try{
Thread.sleep(3000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
System.out.println(name+"执行完成");
}
}
{
privateStringname;
publicMyThread2(Stringname){
this.name=name;
}
@Override
publicObjectcall()throwsException{
try{
Thread.sleep(3000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
System.out.println(name+"执行完成");
returnnull;
}
}
㈧ java 中怎样实现主线程等待其他线程执行完毕!!
在你的主线程中用一个JOIN的方法,你要等待谁,就用谁调用,比如,你要等待线程A结束,就用A.JOIN();这样就可以了。记住哦,这条语句写在哪个线程里,哪个线程就要等待调用这个方法的其他线程。就是说,你在主线程里写了这条语句,那么主线程就要等待线程A执行完后,主线程才会执行。
㈨ java 实现等待时间
楼上正解,使用Java线程,很简单就实现了
你需要基础的东西的话,想你应该目前也用不到多线程,
所以楼上的方法是最简单的,
但如果你使用多线程,就要考虑这个问题了,
Thread.sleep(3000)是让线程休眠3秒,过来3秒自动恢复执行.