โข
๋ฎคํ
์ค(ํ๋ฒ์ ํ๋์ ์ฐ๋ ๋๋ง ์ ๊ทผ) ๋ฝ์ ์ฌ์ฉํ๋ ๋ฐฉ์
โข
๋ด๋ถ์ ์ผ๋ก ๋ชจ๋ํฐ ๋ฉ์ปค๋์ฆ์ ํตํด ๊ตฌํ
โข
JVM ๋ด๋ถ ๊ตฌํ๋ ๊ธฐ๋ฅ์ผ๋ก JVM ๋ ๋ฒจ์์ ๋ช
๋ น์ด๋ฅผ ํตํด ๊ด๋ฆฌ โ native method
โข
ํ๋์ ๊ฐ์ฒด์ ํ๋์ ๋ชจ๋ํฐ๊ฐ ๋ด์ฌ๋์ด ์์ด์ ๋ ๋ฉ์๋์ sync ๊ฐ ๊ฑธ๋ ค์๊ณ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ๋ ๋ฉ์๋์ ๋์์ ์ ๊ทผ ์๋ํ๋ฉด ํ๋์ ์ฐ๋ ๋๋ง ์ ๊ทผ ๊ฐ๋ฅ.
โข
๊ฐ์ ํด๋์ค์ง๋ง ๋ค๋ฅธ ๊ฐ์ฒด๋ผ๋ฉด ์์ ๋ฌธ์ X
๋ชจ๋ํฐ
โข
ํ ์ฐ๋ ๋๊ฐ synchronized ๋ธ๋ก์ ์ง์
ํ๋ฉด ๊ทธ ๊ฐ์ฒด์ ๋ชจ๋ํฐ๋ฅผ ํ๋
โข
๋ค๋ฅธ ์ฐ๋ ๋๋ ๊ทธ ๋ชจ๋ํฐ๊ฐ ํด์ ๋ ๋๊น์ง ๋๊ธฐ(๋ฎคํ
์ค ๋ฝ)
โข
๋ชจ๋ํฐ๋ Java ๊ฐ์ฒด๋ง๋ค ๋ด์ฌ
Reentrant
โข
ํ ์ฐ๋ ๋๊ฐ ํด๋น ๊ฐ์ฒด์ ๋ชจ๋ํฐ๋ฅผ ์์ ํ๊ณ ์์ ๋, ๊ฐ์ ์ฐ๋ ๋๊ฐ ๋ค์ ๊ทธ ๋ชจ๋ํฐ์ ์ ๊ทผ ๊ฐ๋ฅ, ์ด ๊ฒฝ์ฐ ๋ฝ์ ํด์ ํ์ง ์๊ณ ๋ ๋์ผ ์ฐ๋ ๋๊ฐ synchronized ๋ธ๋ก์ ์ง์
๊ฐ๋ฅ