非阻塞同步算法與CAS(Compare and Swap)無鎖算法

鎖(lock)的代價 鎖是用來做併發最簡單的方式,當然其代價也是最高的。內核態的鎖的時候需要操作系統進行一次上下文切換,加鎖、釋放鎖會導致比較多的上下文切換和調度延時,等待鎖的線程會被掛起直至鎖釋放。在上下文切換的時候,cpu之前緩存的指令和數據都將失效,對性能有很大的損失。操作系統對多線程的鎖進行判斷就像兩姐妹在爲一個玩具在爭吵,然後操作系統就是能決定他們誰能拿到玩具的父母,這是很慢的。用戶態的
相關文章
相關標籤/搜索