原子锁操作(全部)
?
注:當時筆記收錄有遺錄,后三個函數回值都是原來的值。
volatil限定符告訴編譯器不要對這個變量進行任何形式的優化,而是始終的從變量的內存中讀取變量的值。
該變量可能被應用程序以外 的代碼所修改,比如操作系統、硬件、或者一個并發執行的線程對其的值進行修改,就要使這個限定符。
volatil BOOL V1=NULL;
如果有的時候不給BOOL(假如)加上volatil限定,編譯器可能對c++代碼進行優化。這個優化中,編譯器把BOOL變量的值放入寄存器中,
這個操作只需要進行一次。然后它重復對CPU寄存器的值進行測試。與每次都從變量所在內存空間中取地變量的值來說,這樣有更好的性能。加上volatile限定可以確保每一個成員都是從內存地址中讀取的。詳細見 《windows核心編程》206頁具體的解釋和用法。?
總結
- 上一篇: hive调优fetch模式抓取,join
- 下一篇: 分词技术