[Book] ๊ฒ์ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ ๊ต๊ณผ์ - 1์ฅ ๋ฉํฐ ์ค๋ ๋ฉ (2)
ยท
๐ Book/โ Game Server
1์ฅ ๋ฉํฐ ์ค๋ ๋ฉ 6. ์๊ณ ์์ญ๊ณผ ๋ฎคํ
์ค ๊ฒฝ์ ์ํ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค ํ๋๋ ๋ค๋ฅธ ์ค๋ ๋๋ X๋ฅผ ๊ฑด๋๋ฆฌ๋ ค๊ณ ํ๋ฉด ํ์ฌ ์ค๋ ๋๊ฐ X๋ฅผ ๋ค ์ฌ์ฉํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด๋ค. ์ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฎคํ
์ค(mutex)์ด๋ค. ๋ฎคํ
์ค๋ ์ํธ ๋ฐฐ์ (mutual exclusion)์ ์ค์๋ง์ด๋ค. ๋ฎคํ
์ค๋ ๋ค๋ฅธ ๋ง๋ก ์๊ณ ์์ญ(critical section)์ด๋ผ๊ณ ๋ ํ๋ค. C++์์ ๋ฎคํ
์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ค๋ ๋ 1์ด โก์์ ๋ฎคํ
์ค ์ฌ์ฉ๊ถ์ ์ป๋ ๋ฐ ์ฑ๊ณตํ๋ฉด โข์ผ๋ก ๋์ด๊ฐ๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ์ค๋ ๋ 2๊ฐ ์ด๋ฏธ ๋ฎคํ
์ค ์ฌ์ฉ๊ถ์ ์ป์ ์ํ๋ฉด ์ค๋ ๋ 1์ ๋ ์ด์ ์งํํ์ง ๋ชปํ๊ณ ์ ์ง๋๋ค. ํํธ ์ค๋ ๋ 2๋ โข์ ์คํ ํ โฃ๋ฅผ ํต๊ณผํ๊ฒ ๋๋๋ฐ ๊ทธ์ ์ผ ์ค๋ ๋ 1์ ๋ฎคํ
์ค ์ฌ์ฉ๊ถ์ ์ป์ด ์คํ ์ง์ ์ด โข์ผ๋ก ๋์ด..