package pkg9.pkg8;

import com.sun.istack.internal.logging.Logger;
import java.util.logging.Level;

class MyThread implements Runnable{
    public void run(){
        for(int i = 0 ; i < 3 ; i++){
            try{
                Thread.sleep(1000);
            }catch(Exception e){}
            System.out.println(Thread.currentThread().getName() + "i = " + i);
        }
    }
}
public class Main {

    public static void main(String[] args) {
        MyThread my = new MyThread();       //產生實體物件
        Thread t1 = new Thread(new MyThread(),"執行緒-A");       //產生實體Thread物件
        Thread t2 = new Thread(new MyThread(),"執行緒-B"); 
        Thread t3 = new Thread(new MyThread(),"執行緒-C"); 
        //設定執行的優先順序
        t1.setPriority(Thread.MIN_PRIORITY);
        t2.setPriority(Thread.NORM_PRIORITY);
        t3.setPriority(Thread.MAX_PRIORITY);
        t1.start();
        t2.start();
        t3.start();
    }
}
 


run:
執行緒-Ai = 0
執行緒-Bi = 0
執行緒-Ci = 0
執行緒-Ai = 1
執行緒-Ci = 1
執行緒-Bi = 1
執行緒-Ai = 2
執行緒-Bi = 2
執行緒-Ci = 2
BUILD SUCCESSFUL (total time: 3 seconds)
 


並非執行緒的優先順序越高就一定會先執行,哪個執行緒先執行將由CPU的排程決定。主方法的優先順序是NORM_PRIORITY

arrow
arrow
    文章標籤
    Java
    全站熱搜
    創作者介紹
    創作者 mingyilai 的頭像
    mingyilai

    mingyilai的部落格

    mingyilai 發表在 痞客邦 留言(0) 人氣()