1. 程式人生 > >mysql悲觀鎖,高併發

mysql悲觀鎖,高併發

1.高併發的時候有2種處理

1)後端進行執行緒安全處理,synchrnoized,還有其他不同粒度的鎖

2)在資料庫設定鎖,當你讀的時候,不允許其他人修改。可以用mysql的悲觀鎖

2.悲觀鎖

select * from 表名 for update

for update很重要,就是如果你查詢這個事務沒有結束前,別人不能去修改它的內容。

3. 那怎麼自己實踐呢?

開啟2個mysql 命令列

一個mysql:然後use 資料庫名,輸入begin;就是開始一個事務,然後select * from 表名 for update;不要打commit;就是提交事務。

另一個:然後use 資料庫名,然後select 的語句是沒問題的,但是當你要update資料的時候是沒辦法的,它會等待。只有等第一個事務commit之後,才能進行修改。