已采納回答 / sxian_wang
慢了不就不會刷新了。。。CPU運算快的話,在分配的時間片內(nèi)就能完成所有工作:工作內(nèi)從1->主內(nèi)存->工作內(nèi)存2,然后這個線程就釋放CPU時間片,這樣一來就保證了數(shù)據(jù)的可見性。如果是慢了話CPU強行剝奪該線的資源,分配給其它線程,該線程就需要等待CPU下次給該線程分配時間片,如果在這段時間內(nèi)有別的線程訪問共享變量,可見性就沒法保證了。
2015-12-02
最新回答 / qq_可口可樂_4
線程是搶占式執(zhí)行的,sleep意味著當前線程在一段時間內(nèi)不執(zhí)行操作,可是該線程的工作內(nèi)存中已經(jīng)得到了number,沒有改變number的值意味著主內(nèi)存中的值也沒有改變,在sleep這段時間內(nèi)其他線程又得到主內(nèi)存中的number,這個number與sleep中的number可能一樣(要是沒有其它線程),這樣的話這2個線程在最終執(zhí)行完之后等于number++只執(zhí)行一次
2015-12-02