Lock
-
[Java] ์๋ฐ ์ฐ๋ ๋์ ๋๊ธฐํAndroid 2021. 2. 7. 16:57
์ด ๊ธ์ "์๋ฐ ์จ๋ผ์ธ ์คํฐ๋" ๊ณต๋ถํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค. ์ฐ๋ ๋ ๋๊ธฐํ๋? ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋๊ธฐํ ์์ ์ด ํ์์ ๋๋ค. ์ฐ๋ ๋ ๋๊ธฐํ๋ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๋์ผํ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋ก์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฒ์ ๋๋ค. ์ฐ๋ ๋ ๋๊ธฐํ๋ฅผ ํ๊ธฐ ์ํด์๋ ์๊ณ์์ญ(critical section)๊ณผ ๋ฝ(lock)์ ์ฌ์ฉํฉ๋๋ค. ์๊ณ์์ญ์ผ๋ก ์ค์ ํ ๊ตฌ์ญ์ ๋์์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์ญ์ด๊ณ , ๋ฝ์ ํ๋ํ ์ฐ๋ ๋์ ๋ํด์๋ง ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ๋ฐฉ์์ ๋๋ค. synchronized๋ฅผ ์ด์ฉํ ๋๊ธฐํ ์๋ฐ์์๋ synchronized ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๊ณ์์ญ์ ์ง์ ํ์ฌ ๋์์ ๊ณต์ ์์์ ์ฐจ์งํ์ง ์๋๋ก ๊ฐ์ ํฉ๋๋ค. synchronized๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฉ์๋ ์์ฒด์ ์ ์ฉ..