在學習effectiveJava時,看到關於使用構建器構建對象時,有這樣一句話:因為構造過程被分到了幾個調用之中,在構造過程總JavaBean可能處於不一致的狀態(P10),不是很理解這句話中的對象不一致是什麼意思。
其實這個很好理解。
既然被分到了幾個調用中,那麼這幾個調用的先後順序的不同,是不是會造成被構造對象的狀態不一致呢?
“幾個調用的先後順序的不同”最容易出現在多線程編程裡,因為當你不去做空置時,你是無法決定每個線程的執行進度的,就會出現處在不同線程的調用的啟動時間和完成時間是不可預知的。