當前位置:名人名言大全網 - 笑話大全 - 螺紋鎖緊的原理是什麽?

螺紋鎖緊的原理是什麽?

線程鎖的原理:當壹個對象獲得壹個鎖時,它首先使自己的緩存失效,從而保證變量可以直接從主存加載。?

類似地,在壹個對象釋放鎖之前,它刷新它的緩存,迫使它所做的任何更改出現在主內存中。這樣,可以保證在同壹個鎖上同步的兩個線程將看到在同步塊中修改的變量的相同值。

壹般來說,線程不受緩存變量值的約束,不需要立即對其他線程可見(無論這些線程是在寄存器中,在處理器特定的緩存中,還是通過指令重新排序或其他編譯器優化)。

擴展信息:線程鎖在run()函數中使用QMutex來實現同步。當多個線程訪問* * *共享變量時,使用lock/trylock和unlock來包裝* * *共享變量,以確保對* * *共享變量的同步訪問。

如果不鎖,2秒後同時修改num變量,會導致線程不按照我們的想法執行。當前線程被鎖定後,其他線程如果遇到* * *變量會等待解鎖;

使用QMutex加鎖解鎖時,當代碼提前退出時,可能不會執行unlock()。如果其他線程使用lock來鎖定,它將總是被阻塞,從而導致內存溢出。