1. 程式人生 > >多執行緒(1)傳統執行緒回顧

多執行緒(1)傳統執行緒回顧

本文介紹的傳統執行緒的回顧

是Java1.5之前回顧,你可以選擇跳過。

Thread類即執行緒類

一執行緒的建立  

1.1通過new Thread寫出子類重寫run方法

Thread thread = new Thread(){
    public void run(){System.out.println("")};
}; 
thread.start();

即可執行thread裡面的run()方法,,

1.2通過底層程式碼可看到,Runnable的賦值是Thread的init()方法,

所以一般傳統方式建立執行緒方式是實現Runnable方法:

Thread thread = new Thread(new Runnable(){
     public void run(){
        System.out.println()
     };
}; 
thread.start();

 為何更多是是使用實現Runnable的方式,找過資料,個人感覺靠譜的解釋是單一職責原則。

二是傳統的定時器

Timer類,

new Timer().schedule(new TimerTask() {
			@Override
			public void run() {
				System.out.println("aaa");
			}
		},10*1000,1000);

定時器選擇schedule或者quartz

三是傳統執行緒的互斥

關於執行緒安全,使用synchronized,程式碼塊裡使用synchronized(兩個執行緒的同一個物件,就是一把鎖){程式碼塊},

或者在方法上使用synchronized,這使得整個方法都受到synchronized的阻塞,保護的是這個方法物件;

四是傳統執行緒的通訊問題

傳統執行緒的執行緒通訊使用的是wait和notify,等待和喚醒

不做過多介紹。