Skip to content

Commit 3260cf0

Browse files
authored
Docs:220324/하현준/DB동시성제어 교착상태 수정
1 parent 235f3f4 commit 3260cf0

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

CS/Summary/Database/DB 동시성제어, 교착상태.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,23 @@ DB에서 하나의 데이터에 Lock을 걸려는 트랜잭션간에 Race Condit
159159

160160
> DB Blocking 예시
161161
>
162-
- S-Lock이 설정된 데이터에 접근하려는 트랜잭션은 Blocking 되지 않는다. (`S-Lock 👈 S-Lock`)
162+
- S-Lock이 설정된 데이터를 Read하려는 트랜잭션은 **Blocking 되지 않는다.** (`S-Lock 👈 S-Lock`)
163163

164164
```java
165165
1. 트랜잭션1이 데이터a를 읽고 있음 // 데이터a에 S-Lock이 걸림
166166
2. 트랜잭션2는 데이터a를 읽기 위해 S-Lock을 걸려 함 // 걸 수 있음
167167
3. 트랜잭션2는 데이터a를 읽음
168168
```
169+
170+
- S-Lock이 설정된 데이터를 Update, Delete하려는 트랜잭션은 **Blocking 된다.** (`S-Lock 👈 X-Lock`)
169171

170-
- X-Lock이 설정된 데이터에 접근하려는 트랜잭션은 Blocking 된다. (`X-Lock 👈 S-Lock 또는 X-Lock 👈 X-Lock`)
172+
```java
173+
1. 트랜잭션1이 데이터a를 읽고 있음 // 데이터a에 S-Lock이 걸림
174+
2. 트랜잭션2는 데이터a를 변경하기 위해 X-Lock을 걸려 함 // 걸 수 없음
175+
3. 트랜잭션2Blocking// 트랜잭션1이 S-Lock을 해제할 때까지
176+
```
177+
178+
- X-Lock이 설정된 데이터를 Read, Update, Delete하려는 트랜잭션은 **Blocking 된다.** (`X-Lock 👈 S-Lock 또는 X-Lock 👈 X-Lock`)
171179

172180
```java
173181
1. 트랜잭션1이 데이터a를 변경하고 있음 // 데이터a에 X-Lock이 걸림

0 commit comments

Comments
 (0)