㈠ 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秒自動恢復執行.