Race Condition

2023. 3. 30. 22:48ใ†CS/CS ์Šคํ„ฐ๋””

Race Condition(๊ฒฝ์Ÿ ์ƒํƒœ)๋ž€,

๋‘˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ๋œ ์ž์›์— ์ ‘๊ทผํ•  ๋•Œ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ

๋™์‹œ๋‹ค๋ฐœ์ ์œผ๋กœ ์ ‘๊ทผ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋™์‹œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๊ฒฝ์Ÿ ์ƒํƒœ๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํƒœ์—์„œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠน์ • ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋Š”๋ฐ

์ ‘๊ทผ ์ˆœ์„œ๊ฐ€ ๋งค๋ฒˆ ์กฐ๊ธˆ์”ฉ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ์— ๋”ฐ๋ฅธ ์ž๋ฃŒ ์ฒ˜๋ฆฌ์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

ํ•ด๊ฒฐ์ฑ…

๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ์œ„ํ•ด ์ƒํ˜ธ ๋ฐฐ์ œ(Mutual Exclusion) ๋กœ์ง์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ์ด Mutex, Semaphore ๊ฐ™์€ ๋ฐฉ๋ฒ•๋“ค์ธ๋ฐ, ์ด๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋‹ค์Œ ๋งํฌ์—์„œ ๋Œ€์ฒดํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

2023.03.26 - [CS/CS ์Šคํ„ฐ๋””] - Mutex & Semaphore

 

Mutex & Semaphore

๊ณต์œ ์ž์› ์ ‘๊ทผ์— ๋Œ€ํ•ด ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ์ž…์žฅ์—์„œ ์ค‘์š”ํ•œ ํ™”๋‘์ด๋‹ค. ๊ฐ€๋ น, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์Šคํƒ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์ƒํ™ฉ์ด๋‚˜ ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ

one-armed-boy.tistory.com

 

๋ฌธ์ œ์ 

๋‹ค๋งŒ ๊ฒฝ์Ÿ ์ƒํƒœ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ด์ฒ˜๋Ÿผ ์ƒํ˜ธ ๋ฐฐ์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฒ˜๋ฆฌ ๋กœ์ง์— ํฌํ•จํ•˜๋ฉด ๋‹ค์Œ์˜ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฐ๋“œ๋ฝ: ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์„œ๋กœ๊ฐ€ ์ ์œ ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ์ž์›์„ ๊ฐ์ž ์ด๋ฏธ ์ ์œ ํ•˜๊ณ  ์žˆ์–ด, ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๊ณ„์† ์ง€์†๋˜๋Š” ์ƒํ™ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์„ฑ๋Šฅ ์ €ํ•˜: ์ƒํ˜ธ ๋ฐฐ์ œ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ, ๋ธ”๋กœํ‚น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ „์ฒด์ ์ธ ๋กœ์ง์˜ ์„ฑ๋Šฅ์ด ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ๋‹ค. 

๋”ฐ๋ผ์„œ ์• ์ดˆ์— ๊ฒฝ์Ÿ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™” ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

'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