volatile:
- 防止指令重排強制將修改值立即寫入主存,寫入時對已存在CPU的緩存行做無效處理。當運用該緩存是發現無效,則重新讀取主存。
ThreadLocal:
- 是用於解決多線程共享類的成員變量,原理:在每個線程中都存有一個本地ThreadMap,相當於存了一個對象的副本,key爲threadlocal對象本身,value爲需要存儲的對象值,這樣各個線程之間對於某個成員變量都有自己的副本,不會衝突
- 防止指令重排強制將修改值立即寫入主存,寫入時對已存在CPU的緩存行做無效處理。當運用該緩存是發現無效,則重新讀取主存。
- 是用於解決多線程共享類的成員變量,原理:在每個線程中都存有一個本地ThreadMap,相當於存了一個對象的副本,key爲threadlocal對象本身,value爲需要存儲的對象值,這樣各個線程之間對於某個成員變量都有自己的副本,不會衝突
1、自我介紹 2、C和C++的區別 3、堆和棧的理解 4、malloc和new的內存區別 4、c++多態性 5、線程和進程的區別 6、tcp和udp的區別 7、介紹一下項目 8、MFC的初始化流程
我的面試經歷(支付寶,軟通動力,電訊盈科,博彥,瑞友,華路時代,天元網絡等):[url]http://www.iteye.com/topic/8110