synchronized 鎖住的是變量和變量的操作,而volatile鎖住的只是變量,而且該變量的值不能依賴它本身的值 volatile算是一種輕量級的同步鎖
2015-10-22
當一個線程訪問object的一個synchronized(this)同步代碼塊時,另一個線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。
當兩個并發(fā)線程訪問同一個對象object中的這個synchronized(this)同步代碼塊時,一個時間內(nèi)只能有一個線程得到執(zhí)行。另一個線程必須等待當前線程執(zhí)行完這個代碼塊以后才能執(zhí)行該代碼塊。