原文:互斥鎖、自旋鎖、讀寫鎖、悲觀鎖、樂觀鎖的應用場景

如何用好鎖,是程序員的基本素養之一。 高並發的場景下,如果選對了合適的鎖,則會大大提高系統的性能,否則性能會降低。 所以,知道各種鎖的開銷,以及應用場景是很有必要的。 接下來,就談一談常見的這幾種鎖: 正文 多線程訪問共享資源的時候,避免不了資源競爭而導致數據錯亂的問題,所以我們通常為了解決這一問題,都會在訪問共享資源之前加鎖。 最常用的就是互斥鎖,當然還有很多種不同的鎖,比如自旋鎖 讀寫鎖 樂觀 ...

2021-09-29 23:31 0 129 推薦指數:

查看詳情

面試官:你說說互斥自旋讀寫鎖悲觀樂觀應用場景

前言 生活中用到的,用途都比較簡單粗暴,上鎖基本是為了防止外人進來、電動車被偷等等。 但生活中也不是沒有 BUG 的,比如加鎖的電動車在「廣西 - 竊·格瓦拉」面前,就是形同虛設,只要他願意,他就可以輕輕松松地把你電動車給「順走」,不然打工怎么會是他這輩子不可能的事情 ...

Wed Sep 16 04:15:00 CST 2020 4 5901
悲觀樂觀的區別和應用場景

1.早上提醒項目提前上線下午兩點至三點 2.導出兩張模板,生產環境需要導出CSR一張表方便以后查看 3.這問題讓我聯系很多情景下應用,分布式、JAVA中線程同步、mysql死鎖檢測機制、緩存等,在關系型數據庫里又有行,表,讀鎖,寫鎖,這個問題我覺得理解它是多向 ...

Thu Mar 22 07:13:00 CST 2018 0 2269
《面試經典系列》- 樂觀悲觀及其應用場景

1、樂觀   樂觀(Optimistic Locking)是一種思想,相對悲觀而言,樂觀認為對同一個數據的並發操作,不會造成沖突,所以在數據提交更新的時候,才會正式對數據進行沖突校驗,如果有沖突,則給用戶返回錯誤的信息,讓用戶決定如何處理。樂觀地認為,不加鎖的並發操作是沒有問題 ...

Fri Mar 13 19:40:00 CST 2020 0 895
互斥、遞歸讀寫鎖自旋區別

互斥 共享資源的使用是互斥的,即一個線程獲得資源的使用權后就會將改資源加鎖,使用完后會將其解鎖,所以在使用過程中有其它線程想要獲取該資源的,那么它就會被阻塞陷入睡眠狀態,直到該資源被解鎖才會別喚醒,如果被阻塞的資源不止一個,那么它們都會被喚醒,但是獲得資源使用權的是第一個被喚醒的線程 ...

Tue Aug 06 23:19:00 CST 2019 0 1387
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM