[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ] ์กฐ๊ฑด ๋ณ€์ˆ˜์™€ ์‹œ๊ทธ๋„, Reader-Writer problem์— ๊ด€ํ•˜์—ฌ
ยท
Study/์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ
Busy waiting while( x != y ); Non-busy waiting ํ•ด๊ฒฐ์ฑ… Mutex๋ฅผ ์ž ๊ทธ๊ธฐ ์กฐ๊ฑด x == y๋ฅผ ํ…Œ์ŠคํŠธ ์ฐธ์ด๋ฉด mutex๋ฅผ ์ž ๊ธˆ ํ•ด์ œํ•˜๊ณ  ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒ ๊ฑฐ์ง“์ด๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์ผ์‹œ ์ค‘๋‹จํ•˜๊ณ  mutex๋ฅผ ์ž ๊ธˆ ํ•ด์ œ Mutex๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์Šค๋ ˆ๋“œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜์—ฌ ๋™๊ธฐํ™”๋ฅผ ๊ตฌํ˜„ํ•˜์ง€๋งŒ ์กฐ๊ฑด ๋ณ€์ˆ˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์Šค๋ ˆ๋“œ๋ฅผ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ. ๋งŒ์•ฝ ์กฐ๊ฑด ๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด, ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ณ„์†ํ•ด์„œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์Šค๋ ˆ๋“œ๋ฅผ ํด๋ง(๊ฐ€๋Šฅํ•˜๋ฉด ์ž„๊ณ„ ๊ตฌ์—ญ์—์„œ) ์ด๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์ด ํ™œ๋™์— ๊ณ„์†ํ•ด์„œ ๋ฐ”์˜๊ฒŒ ์ฐจ์ง€๋˜์–ด ๋งค์šฐ ์ž์› ์†Œ๋ชจ์ ์ผ ์ˆ˜ ์žˆ์Œ. ์กฐ๊ฑด ๋ณ€์ˆ˜๋Š” ํด๋ง ์—†์ด ๋™์ผํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์กฐ๊ฑด ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ Mutex ๋ฝ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ ์กฐ๊ฑด ๋ณ€์ˆ˜ : ์ž„์˜์˜ ์กฐ๊ฑด..