java有哪些鎖 什么是樂觀鎖?
什么是樂觀鎖?Hibernate中的兩種鎖機制:悲觀鎖和樂觀鎖悲觀鎖:數(shù)據(jù)庫本身的鎖機制,用于更新或不更新[等待優(yōu)點:完成并發(fā)處理,更好的并發(fā)處理缺點:當(dāng)一個用戶鎖定記錄時,其他用戶不能使用它,樂觀鎖
什么是樂觀鎖?
Hibernate中的兩種鎖機制:悲觀鎖和樂觀鎖
悲觀鎖:數(shù)據(jù)庫本身的鎖機制,用于更新或不更新[等待
優(yōu)點:完成并發(fā)處理,更好的并發(fā)處理
缺點:當(dāng)一個用戶鎖定記錄時,其他用戶不能使用它,樂觀鎖:它是由hibernate本身實現(xiàn)的,它使用版本控制方法來處理并發(fā)性。添加版本元素
悲觀鎖和樂觀鎖分別在什么條件下使用?
保證數(shù)據(jù)安全,處理多用戶并發(fā)訪問。
悲觀鎖,顧名思義,就是對世界悲觀。他認(rèn)為其他人訪問更改數(shù)據(jù)的概率非常高,因此他在數(shù)據(jù)開始更改時鎖定數(shù)據(jù),只有在更改完成時才釋放數(shù)據(jù)。
樂觀鎖定。他對世界很樂觀。他認(rèn)為其他人訪問更改數(shù)據(jù)的概率非常低,因此在修改完成并準(zhǔn)備好將修改提交到數(shù)據(jù)庫之前,他不會鎖定數(shù)據(jù)。更改完成后發(fā)布。
悲觀鎖將導(dǎo)致長時間訪問數(shù)據(jù)庫和不良的并發(fā)性,特別是長事務(wù)。
樂觀鎖在現(xiàn)實中被廣泛使用,大多數(shù)制造商都使用它。
樂觀鎖和悲觀鎖分別是什么區(qū)別在哪里?
個人理解:排他性分為樂觀排他性和悲觀排他性,即樂觀鎖和悲觀鎖。樂觀和悲觀都是針對數(shù)據(jù)庫的。在樂觀排他性之后,其他人可以修改數(shù)據(jù),但是當(dāng)您提交數(shù)據(jù)時,如果您發(fā)現(xiàn)數(shù)據(jù)已被修改,您將報告一個錯誤。在悲觀和排斥之后,其他人無法移動數(shù)據(jù)。我對共享鎖知之甚少