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變數不需要考慮同步的問題
沒有留言:
張貼留言