2008年7月1日 星期二

JAVA thread

Daemon threads 在main thread結束時,也會跟著結束

method synchronized 只對 non-static member有用

static yield: 讓出cpu(可是面對不同priority,可能會沒用)

static sleep (時間) throws Interrupted Exception
有block,所以要用try & catch包

final join (時間) throws Interrupted Exception
有block,所以要用try & catch包
直到目標Thread跑完,才會解除,但目標Thread還是可以把CPU讓給第三者

wait() & notify()則是屬於物件的function,不是Thread的
wait()會交出lock,可是notify()不會,要等Thread結束才會交出

volatide: 在multithread時,確定多個Thread會access到值本身而不是copy

synchronized可以修飾 method
或用synchronized(obj){}來包住區段

final變數不需要考慮同步的問題

沒有留言: