2023. 3. 30. 22:48ใCS/CS ์คํฐ๋
Race Condition(๊ฒฝ์ ์ํ)๋,
๋ ์ด์์ ํ๋ก์ธ์ค ํน์ ์ค๋ ๋๊ฐ ๊ณต์ ๋ ์์์ ์ ๊ทผํ ๋ ์๋ก ๊ฒฝ์ํ๋ ๊ฒ์ฒ๋ผ
๋์๋ค๋ฐ์ ์ผ๋ก ์ ๊ทผ์ ์ํํ์ฌ ๋์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ์ํ๋ฅผ ๊ฒฝ์ ์ํ๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ์ํ์์๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ํน์ ์์์ ๋์์ ์ ๊ทผํ๊ฒ ๋๋๋ฐ
์ ๊ทผ ์์๊ฐ ๋งค๋ฒ ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ๋ฐ๋ฅธ ์๋ฃ ์ฒ๋ฆฌ์ ์ผ๊ด์ฑ์ด ๋จ์ด์ง๊ฒ ๋๋ค.
ํด๊ฒฐ์ฑ
๊ณต์ ์์์ ๋ํ ๋์์ฑ ๋ฌธ์ ๋ฅผ ์ํด ์ํธ ๋ฐฐ์ (Mutual Exclusion) ๋ก์ง์ ์ฌ์ฉํ ์ ์๋ค.
์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ฒ์ด Mutex, Semaphore ๊ฐ์ ๋ฐฉ๋ฒ๋ค์ธ๋ฐ, ์ด๋ค์ ๋ํ ์ค๋ช ์ ๋ค์ ๋งํฌ์์ ๋์ฒดํ๋๋ก ํ๊ฒ ๋ค.
2023.03.26 - [CS/CS ์คํฐ๋] - Mutex & Semaphore
๋ฌธ์ ์
๋ค๋ง ๊ฒฝ์ ์ํ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด์ฒ๋ผ ์ํธ ๋ฐฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฒ๋ฆฌ ๋ก์ง์ ํฌํจํ๋ฉด ๋ค์์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ฐ๋๋ฝ: ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์๋ก๊ฐ ์ ์ ํ๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ์์์ ๊ฐ์ ์ด๋ฏธ ์ ์ ํ๊ณ ์์ด, ๋๊ธฐ ์ํ๊ฐ ๊ณ์ ์ง์๋๋ ์ํฉ์ ์๋ฏธํ๋ค.
- ์ฑ๋ฅ ์ ํ: ์ํธ ๋ฐฐ์ ๋ฅผ ํตํด ๊ณต์ ์์์ ๋ํ ๊ด๋ฆฌ๋ฅผ ์ํํ ๊ฒฝ์ฐ, ๋ธ๋กํน ๋ฐฉ์์ ์ฌ์ฉํ๋ฏ๋ก ์ ์ฒด์ ์ธ ๋ก์ง์ ์ฑ๋ฅ์ด ๋ฎ์์ง ์ ์๋ค.
๋ฐ๋ผ์ ์ ์ด์ ๊ฒฝ์ ์ํ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ์ต์ํ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
'CS > CS ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ๊ทธ๋ฉํ ์ด์ & ํ์ด์ง ๊ธฐ๋ฒ (0) | 2023.04.04 |
---|---|
Dead Lock(๊ต์ฐฉ ์ํ) (0) | 2023.03.31 |
Mutex & Semaphore (0) | 2023.03.26 |
CPU ์ค์ผ์ค๋ง (0) | 2023.03.25 |
IPC(Interprocess Communication) (0) | 2023.03.19 |