程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> [javaSE] 多線程(join方法),javasejoin

[javaSE] 多線程(join方法),javasejoin

編輯:JAVA綜合教程

[javaSE] 多線程(join方法),javasejoin


多條線程並發執行,隨機切換,調用join()方法,會使當前線程所在的線程(一般主線程)凍結,直到當前線程結束,所在的線程才恢復繼續執行

 

class JoinTestDemo implements Runnable{

    @Override
    public void run() {
        
        for(int x=0;x<=5;x++){
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"===="+x);
        }
    }
    
}
public class JoinDemo {

    /**
     * @param args
     * @throws InterruptedException 
     */
    public static void main(String[] args) throws InterruptedException {
        JoinTestDemo join=new JoinTestDemo();
        Thread t1=new Thread(join);
        Thread t2=new Thread(join);
        t1.start();
        t2.start();
        //上面兩個子線程交替執行,主線程凍結,t1走完才解凍
        t1.join();
        //顯示主線程
        for(int x=0;x<=5;x++){
            Thread.sleep(100);
            System.out.println(Thread.currentThread().getName()+"===="+x);
        }
    }

}

 

 

線程的優先級,調用Thread對象的setPriority()方法,可以設置優先級,參數:1,5,10最明顯;Thread.MAX_PRIORITY,Thread.MIN_PRIORITY,Thread.NORM_PRIORITY

 

調用Thread.yield();可以暫時釋放執行權,達到線程平均運行的目的

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved