2015年2月15日 星期日

JAVA-線程( 一 )

進程 : 一個班級
線程 : 班級內的學生
一個線程可有多的線程

線程的溝通可以是 :
1 . 同步 : 一起合作完成海報
2 . 互斥 : 筆記同時只能借給一個人,其餘就只能等待

Thread and Runnable

public class actor extends Thread{

    public void run() {

        System.out.println(getName() + " 開始演出 ~!");

        for(int i=1; i<11; i++){
            System.out.println(getName()+" 表演中 "+i +"次 !");
            if(i %5 == 0){
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }

        System.out.println(getName() + " 演出結束 !");
    }

    public static void main(String []arg0){

        Thread actor_1 = new actor();
        actor_1.setName("Mr.Thread");
        actor_1.start();

        Thread actor_2 = new Thread(new actors(), "Ms.Runnable");
        actor_2.start();

    }

}

class actors implements Runnable{

    public void run() {
        System.out.println(Thread.currentThread().getName() + " 開始演出 ~!");

        for(int i=1; i<11; i++){
            System.out.println(Thread.currentThread().getName()+" 表演中 "+i +"次 !");
            if(i %5 == 0){
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }

        System.out.println(Thread.currentThread().getName() + " 演出結束 !");

    }
}



Output :
Mr.Thread 開始演出 ~!
Mr.Thread 表演中 1次 !
Mr.Thread 表演中 2次 !
Mr.Thread 表演中 3次 !
Mr.Thread 表演中 4次 !
Mr.Thread 表演中 5次 !
Ms.Runnable 開始演出 ~!
Ms.Runnable 表演中 1次 !
Ms.Runnable 表演中 2次 !
Ms.Runnable 表演中 3次 !
Ms.Runnable 表演中 4次 !
Ms.Runnable 表演中 5次 !
Mr.Thread 表演中 6次 !
Mr.Thread 表演中 7次 !
Mr.Thread 表演中 8次 !
Mr.Thread 表演中 9次 !
Mr.Thread 表演中 10次 !
Ms.Runnable 表演中 6次 !
Ms.Runnable 表演中 7次 !
Ms.Runnable 表演中 8次 !
Ms.Runnable 表演中 9次 !
Ms.Runnable 表演中 10次 !
Mr.Thread 演出結束 !
Ms.Runnable 演出結束 !

來源為 : 慕課網教學筆記

沒有留言:

張貼留言