๐ ๊ต์ฐฉ์ํ
๋ณต์์ ํธ๋์ญ์ ์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๊ต์ฐฉ์ํ๊ฐ ์ผ์ด๋ ์ ์๋ค.
๊ต์ฐฉ์ํ๋ ๋ ๊ฐ ์ด์์ ํธ๋์ญ์ ์ด ํน์ ์์(ํ ์ด๋ธ ๋๋ ํ)์ ์ ๊ธ์ ํ๋ํ ์ฑ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ๊ณ ์๋ ์ ๊ธ์ ์๊ตฌํ๋ฉด ์๋ฌด๋ฆฌ ๊ธฐ๋ค๋ ค๋ ์ํฉ์ด ๋ฐ๋์ง ์๋ ์ํ๊ฐ ๋๋๋ฐ, ์ด๋ฅผ ๊ต์ฐฉ์ํ๋ผ๊ณ ํ๋ค.

ํธ๋์ญ์
1์ด ํ
์ด๋ธ B์ ์ฒซ๋ฒ์งธ ํ์ ์ ๊ธ์ ์ป๊ณ ํธ๋์ญ์
2๋ ํ
์ด๋ธ A์ ์ฒซ๋ฒ์งธ ํ์ ์ ๊ธ์ ์ป์๋ค๊ณ ํ์ ๋,
ํธ๋์ญ์
์ COMMITํ์ง ์์์ฑ ์๋ก์ ์ฒซ๋ฒ์งธ ํ์ ๋ํ ์ ๊ธ์ ์์ฒญํ๋ฉด Deadlock์ด ๋ฐ์ํ๋ค.
๊ต์ฐฉ ์ํ์ ๋น๋๋ฅผ ๋ฎ์ถ๋ ๋ฐฉ๋ฒ
- ํธ๋์ญ์ ์ ์์ฃผ ์ปค๋ฐํ๋ค.
- ์ ํด์ง ์์๋ก ํ
์ด๋ธ์ ์ ๊ทผํ๋ค.
์์์๋ ํธ๋์ญ์ 1์ด ํ ์ด๋ธ B โ A์ ์์ผ๋ก ์ ๊ทผํ๊ณ , ํธ๋์ญ์ 2๋ ํ ์ด๋ธ A โ B ์์ผ๋ก ์ ๊ทผํ๋ค.
ํธ๋์ญ์ ๋ค์ด ๋์ผํ ํ ์ด๋ธ ์์ผ๋ก ์ ๊ทผํ๊ฒ ํ๋ค. - ์ฝ๊ธฐ ์ ๊ธ ํ๋ (SELECT ~ FRO UPDATE)์ ์ฌ์ฉ์ ํผํ๋ค.
- ํ ํ ์ด๋ธ์ ๋ณต์ ํ์ ๋ณต์์ ์ฐ๊ฒฐ์์ ์์ ์์ด ๊ฐฑ์ ํ๋ฉด ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค. ์ด ๊ฒฝ์ฐ์๋ ํ ์ด๋ธ ๋จ์์ ์ ๊ธ์ ํ๋ํด ๊ฐฑ์ ์ ์ง๋ ฌํํ๋ฉด ๋์์ฑ์ ๋จ์ด์ง์ง๋ง ๊ต์ฐฉ์ํ๋ฅผ ํํผํ ์ ์๋ค.
๊ต์ฐฉ ์ํ ํ์ง ์๊ณ ๋ฆฌ์ฆ
์ํ์ ์๊ณ ๋ฆฌ์ฆ
๊ฐ ์์ ์ ํ๋ง๋ค ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ํ์ ์๊ณ ๋ฆฌ์ฆ(Banker's Algorithm)์ ์ฌ์ฉํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ํ์งํ๋ค.
- ๊ฐ ํ๋ก์ธ์ค์ ์์ ์์ฒญ(Request) ๊ฐ์๋ฅผ ์ฌ์ฉํ๋ค.
- ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋, ์์คํ ์ ์์์ ํ ๋นํ ํ์๋ ํ์ฌ ์ํ๊ฐ ์์ ์ํ์ธ์ง ํ์ธํ๋ค.
- ๋ถ์์ ์ํ๋ผ๋ฉด ๊ต์ฐฉ ์ํ๋ผ๊ณ ํ๋จํ๋ค.
โ ์์ ์ํ๋ฉด ์์ ํ ๋น, ์๋๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ ์์ ํด์ง๊น์ง ๋๊ธฐ
์์ ํ ๋น ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ
์์๊ณผ ํ๋ก์ธ์ค์ ๋ํด ์์ฒญ ๊ฐ์ ๊ณผ ํ ๋น ๊ฐ์ ์ ์ ์ฉํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ํํผํ๋ ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋ ์์ฒญ ๊ฐ์ ์ ํ ๋น ๊ฐ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ฌ์ดํด์ด ์์ฑ๋๋์ง ํ์ธ
๐ข ์ฌ์ดํด์ด ์์ ๋๋ค๊ณ ๋ฌด์กฐ๊ฑด ๊ต์ฐฉ ์ํ์ธ ๊ฒ์ ์๋๋ค!
- ์์์ ํ๋์ ์ธ์คํด์ค๋ง ์กด์ฌํ๋ฉด ๊ต์ฐฉ ์ํ๋ก ํ๋ณ
- ์์์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์กด์ฌํ๋ฉด ๊ต์ฐฉ ์ํ ๊ฐ๋ฅ์ฑ์ผ๋ก ํ๋ณ
ํ์ง ์๊ณ ๋ฆฌ์ฆ ํธ์ถ ์ฃผ๊ธฐ
ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ค๋ฒํค๋๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ผ๋ง๋ ์์ฃผ ๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ๋์ง ์ผ๋ง๋ ๋ง์ ํ๋ก์ธ์ค๊ฐ ๊ต์ฐฉ ์ํ์ ์ฐ๋ฃจ๋์ด ์๋์ง์ ๋ฐ๋ผ ํธ์ถ ๋น๋๋ฅผ ์กฐ์ ํด์ผ ํ๋ค.
- ์์์ ์์ฒญํ๋๋ฐ ์ฆ์ ํ ๋น๋์ง ๋ชปํ๋ ์์ ์ ํธ์ถ
- ์ฃผ๊ธฐ์ ์ผ๋ก ์ผ์ ์๊ฐ๋ง๋ค ํธ์ถ
- cpu ์ด์ฉ๋ฅ ์ด ํน์ ๊ฐ ์ดํ๋ก ๋จ์ด์ง๋ ์์ ์ ํธ์ถ
Interview_Question_for_Beginner/Database at main ยท JaeYeopHan/Interview_Question_for_Beginner
:boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner
github.com
tech-interview-for-developer/Computer Science/Operating System/DeadLock.md at master ยท gyoogle/tech-interview-for-developer
๐ถ๐ป ์ ์ ๊ฐ๋ฐ์ ์ ๊ณต ์ง์ & ๊ธฐ์ ๋ฉด์ ๋ฐฑ๊ณผ์ฌ์ ๐. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.
github.com
https://yoongrammer.tistory.com/67
๊ต์ฐฉ์ํ(Dead Lock) ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ชฉ์ฐจ๊ต์ฐฉ์ํ(Dead Lock) ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ฐ์ ์ผ๋ก ๊ต์ฐฉ ์ํ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์๋ ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค.๊ต์ฐฉ ์ํ ์๋ฐฉ(Prevention) ๋๋ ํํผ(Avoidance)๊ต์ฐฉ ์ํ๊ฐ ๋์ง ์๋๋ก ํฉ๋๋ค.๊ต์ฐฉ ์ํ ํ์ง(Detec
yoongrammer.tistory.com
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก์ ์๋ฒ(Proxy server) (0) | 2024.11.18 |
---|---|
์ค์์ฒ๋ฆฌ์ฅ์น(CPU) ์๋ ์๋ฆฌ (1) | 2024.11.17 |
์จ๋ ํํฐ(3rd party)๋? (0) | 2024.11.14 |
SQL - DB ํธ๋์ญ์ (Transaction) (2) | 2024.11.13 |
SQL - ์ ์ฅ ํ๋ก์์ (Stored Procedure) (2) | 2024.11.12 |