- ์คํฐ๋ ์ฃผ์ : ์ด์์ฒด์
- ์ด ์ธ์ ์: 4๋ช
- ์ด์ ๊ธฐ๊ฐ: 23.04.20 ~ 23.05.18 ( 5์ฃผ: 4์ฃผ ๋ฐํ + 1์ฃผ ๋ชจ์ ๋ฉด์ )
- ๋ชจ์ ๋ ์ง: ๋งค์ฃผ ๋ชฉ์์ผ ์คํ 7์ (2์๊ฐ ~ 3์๊ฐ), ์จ๋ผ์ธ
- ๋ณด์ฆ๊ธ: 3๋ง์ (์คํฐ๋ ์ข ๋ฃ ํ ๋ฒ๊ธ ์ ์ธํ ๋ณด์ฆ๊ธ ๋ชจ๋ ๋ฐํ)
Wiki ํ์ด์ง ์ฐธ๊ณ
| ๊น์ ์ | ๋ฐฐ์์ | ์ฌ์ํ | ๋ฌธ์ ํ |
- RAM๊ณผ ์บ์๋ฉ๋ชจ๋ฆฌ
- ์ ์ ๋ ๋ฒจ์ค๋ ๋์ ์ปค๋๋ ๋ฒจ์ค๋ ๋
- ํ์ด์ง๊ต์ฒด์ ํ๋ ์ํ ๋น
- ๋ค์ค์ฒ๋ฆฌ๊ธฐ ์ค์ผ์ค๋ง
1๏ธ. ์ฒ๋ฆฌ๋ 2๏ธ. ๋๊ธฐ ์๊ฐ 3๏ธ. ๊ท ํ์๋ ์์ ์ด์ฉ 4๏ธ. ์ค๋ฅ ๋ณต๊ตฌ ์๊ฐ
์ ๋ต
**4๏ธ. ์ค๋ฅ ๋ณต๊ตฌ ์๊ฐ**Q2. ๋ค์๊ณผ ๊ฐ์ด ์์ ์ ์ ์ถํ๋ค. ์ด๋ฅผ SJF ์ ์ฑ ์ ์ฌ์ฉํ์ฌ ์ค์ผ์ค๋งํ๋ฉด ์์ ๋ฒํธ 3์ ์๋ฃ ์๊ฐ์?
1๏ธ. 13:25 2๏ธ. 12:25 3๏ธ. 12:00 4๏ธ. 14:00
์ ๋ต
**2๏ธ. 12:25**- SJF ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ Short Job First์ ์ฝ์๋ก ๋จ์ ์์ ์ค ๊ฐ์ฅ ์์ ์๊ฐ์ด ์งง์ ์์ ์๊ฒ ์์์ ํ ๋นํด์ฃผ๋ ๋ฐฉ์์ด๋ค.
1๏ธ. ์๊ฐ ํ ๋น๋์ ํฌ๊ฒ ํ๋ฉด ์
์ถ๋ ฅ ์์ฃผ์ ์์
์ด๋ ๊ธด๊ธ์ ์ํ๋ ์์
์ ์ ์ํ ๋ฐ์ํ์ง ๋ชปํ๋ค.
2๏ธ. ์๊ฐ ํ ๋น๋์ด ์์ผ๋ฉด FCFS ์ค์ผ์ค๋ง๊ณผ ๊ฐ์์ง๋ค.
3๏ธ. ์๋ถํ ์์คํ
(time sharing system)์ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
4๏ธ. ์๊ฐ ํ ๋น๋์ด ์์์๋ก ๋ฌธ๋งฅ ๊ตํ ๋ฐ ์ค๋ฒํค๋๊ฐ ์์ฃผ ๋ฐ์ํ๋ค.
์ ๋ต
**2๏ธ. ์๊ฐ ํ ๋น๋์ด ์์ผ๋ฉด FCFS ์ค์ผ์ค๋ง๊ณผ ๊ฐ์์ง๋ค.**- ์๊ฐ ํ ๋น๋(ํ์ ์ฌ๋ผ์ด์ค)๊ฐ ์ปค์ง๋ฉด FCFS ์ค์ผ์ค๋ง๊ณผ ๊ฐ์์ง๊ณ , ์์์ง๋ฉด ๋ฌธ๋งฅ๊ตํ์ด ์์ฃผ ๋ฐ์ํ์ฌ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๋ค.
- ๋ฐ๋ผ์ ์ ์ ํ๊ฒ ์๊ฐ ํ ๋น๋์ ์ ํ๋ ๊ฒ์ด ์ค์ํ์ง๋ง ์ ๋์ ์ผ๋ก ์ข์ ๊ฐ์ ์ฐพ๋ ๊ฒ์ ์ด๋ ต๋ค.
์ ๋ต
Multiprogramming : batch processing, background processing๊ณผ ๊ฐ์ด ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง์ง ์์ ํ๋ก๊ทธ๋จ์ ์ ํฉํ๋ค.
- timesharing๋ณด๋ค overhead๊ฐ ์ ๋ค
- ์ฒ๋ฆฌ์จ(์๊ฐ๋์ ์ฒ๋ฆฌ๋๋ ์์ ์ ์)์ด ์ข๊ณ ๋ญ๋น๋๋ ์๊ฐ์ด ์ ๋ค.
- ํ์ง๋ง ์๋ต์๊ฐ(ํ๋ก๊ทธ๋จ ์คํ ๋ช ๋ น ~ ์ค์ ๋ก ์คํ๋๋ ์๊ฐ)์ Timesharing์ ๋นํด ํฌ๋ค.
Timesharing : interactive processing, foreground processing๊ณผ ๊ฐ์ด ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ํ๋ก๊ทธ๋จ์ ์ ํฉํ๋ค
- Multiprograing๋ณด๋ค overhead๊ฐ ํฌ๋ค
- ์๋ต์๊ฐ์ด ์ ๋ค.
- ๋ญ๋น๋๋ ์๊ฐ์ด ๋ง์์ง๋ค. (์๊ฐ๊ฐ๊ฒฉ๋ณด๋ค ์ฒ๋ฆฌ์๊ฐ์ด ์งง์๋ ์๊ฐ๊ฐ๊ฒฉ๋งํผ ํด๋น ํ๋ก๊ทธ๋จ์ด CPU ์ ์ด๊ถ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ)
์ ๋ต
- CPU ์ค์ผ์ค๋ฌ๋ ์ด์์ฒด์ ์ ์ปค๋ ๋ด๋ถ์ ์์นํฉ๋๋ค.
- ์ปค๋์ ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ผ๋ก, ์์คํ ์์ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ์ฒ๋ฆฌ, ํ์ผ ์์คํ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ด๋นํฉ๋๋ค.
- CPU ์ค์ผ์ค๋ฌ๋ ์ด ์ค์์๋ CPU ์์ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ฉฐ, ํ๋ก์ธ์ค ์คํ ์ฐ์ ์์์ ๋ฐ๋ผ CPU ์์์ ํ ๋นํ๋ ์ญํ ์ ์ํํฉ๋๋ค.
์ ๋ต
- ์๋ฐ์ ๋ฌธ๋งฅ ๊ตํ : ํ์ฌ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ ์์์ ์์ฒญํ์ ๋ ํ๋ก์ธ์ค๊ฐ CPU ์ ์ด๋ฅผ ํฌ๊ธฐํ ๊ฒฝ์ฐ ๋ฐ์
- ๋ณต๊ท ๋ฌธ๋งฅ ๊ตํ : ์ธํฐ๋ ํธ๋ ์์ธ ์ํฉ์ด ๋ฐ์ํ์ฌ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๋ฐํํ ํ, ์ด์ ์ ์คํ๋๋ ํ๋ก์ธ์ค๋ก ๋์๊ฐ๊ธฐ ์ํ ๋ฌธ๋งฅ ๊ตํ์ด๋ฉฐ, ๋๊ฐ ์ด์์ฒด์ ์ ์ปค๋ ๋ชจ๋์์ ์คํ๋๋ค.
- ๋น์๋ฐ์ ๋ฌธ๋งฅ ๊ตํ : ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋ง๋ฃ๋์๊ฑฐ๋ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์ ์ํด ์ ์ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์ด CPU๋ฅผ ๋นผ์๊ฒผ์ ๋ ๋ฐ์ํ๋ค.
์ ๋ต
- Thread-safe(์ค๋ ๋ ์์ ): ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์, ๋ณ์๋ ๊ฐ์ฒด, ํจ์ ๋ฑ์ ์์์ด ์ฌ๋ฌ ์ค๋ ๋์ ๋ํด ๋์์ ์ ๊ทผ๋์ด๋ ์ ์์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ ๊ฒ
- Race Condition: ํ์ฌ ์์ ์ด ์ ์ดํ ์ ์๋ ๋ ๋ค๋ฅธ ์์ ๊ณผ์ ์งํ ์์, ์ฆ, ํ์ด๋ฐ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ ธ ์ฌ๋ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ผ ์ ์๋ ๋ฐ๋์งํ์ง ์์ ์ํฉ, ๋ ๊ฐ ์ด์์ ์ค๋ ๋๊ฐ race condition์ ๋ค์ด๊ฐ๊ฑฐ๋ ๊ฐ์ ๊ฐ์ฒด์ ๋์์ ์ ๊ทผํด๋ ์ฐ์ฐ๊ฒฐ๊ณผ์ ์ ํฉ์ฑ์ด ๋ณด์ฅ๋ ์ ์๊ฒ๋ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ์ด ํ๋ณด๋ ์ํ
- thread-safeํ๋ค๊ณ ํด์ race condition์ผ๋ก๋ถํฐ ์์ ๋กญ๋ค๋ ๋ป X
- race condition์ ๋ฐ์์๋ ๋ถ๊ตฌํ๊ณ , ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ํ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค๋ฉด thread-safeํ ์ฝ๋๋ผ๊ณ ํ ์ ์์
- ex) ์ด ์ฝ๋๋ ์ฌ๋ฌ ์ค๋ ๋์ ์ํด์ ๋์์ ์ํ๋์ด๋ ๋ฌธ์ ์๋ค! โ thread safeํ ์ฝ๋
์ ๋ต
- Reentrency ์ฌ์ง์ ์ฑ
- Thread-Local Storage ์ค๋ ๋ ์ง์ญ ์ ์ฅ์
- Atomic Operation ์์ ์ฐ์ฐ
- Mutual Exclusion Locks ๋ฝ
- Immutable Object ๋ถ๋ณ ๊ฐ์ฒด
- Producer - Consumer Pattern
- Blocking Queue
- Volatile
- Instance Confinement ์ธ์คํด์ค ํ์
- Thread Confinement ์ค๋ ๋ ํ์
- Condition Queues ์กฐ๊ฑด ํ
- Synchronized Collections ๋๊ธฐํ ์ปฌ๋ ์
- State Dependence ์ํ๋ฒ์ ์ ํ
์ ๋ต
- X
- ๋ฉ์๋ ์ ์ธ์ synchronized ํ์ ์๋ฅผ ์ ์ธํ ์ง๋ ๊ตฌํ ์ด์์ผ ๋ฟ API์ ์ํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ด๊ฒ๋ง์ผ๋ก๋ ๊ทธ ๋ฉ์๋๊ฐ ์ค๋ ๋ ์์ ํ๋ค๊ณ ๋ฏฟ๊ธฐ ์ด๋ ต๋ค.
์ ๋ต
* ํ์ด์ง ํ ์ด๋ธ์ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ์ด์ง ํ ์ด๋ธ์ ๋ณด๊ธฐ ์ํด, ๊ทธ๋ฆฌ๊ณ ํ๋ ์์ ์ ๊ทผํ๊ธฐ ์ํด ๋ ๋ฒ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ TLB ๋ผ๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- 1๋ฒ ํ์ด์ง๋ ์์ ๋ ์ ์ด ์์ต๋๋ค.
- 1๋ฒ ํ์ด์ง๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ์์ง ์์ต๋๋ค.
- 2๋ฒ ํ์ด์ง๋ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํฉ๋๋ค.
- CPU์ ์ํด ์ฐธ์กฐ๋ ํ์ด์ง๊ฐ ์์ต๋๋ค.
์ ๋ต
- ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ๋์ค์ ํ์ํ ํ์ด์ง๊ฐ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ์ง ์์ ๋์คํฌ์์ ํด๋น ํ์ด์ง๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ๋งํฉ๋๋ค. ์ฆ, ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๋ ค๋ ํ์ด์ง๊ฐ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ์ง ์๋ ์ํ์์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ์ ๋๋ค.ย ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ๋ฉด ์ด์์ฒด์ ๋ ํด๋น ํ์ด์ง๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ฌ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
- ์ด๋, ๋ฉ๋ชจ๋ฆฌ์ ๋น ๊ณต๊ฐ์ด ์๋ค๋ฉด ํ์ด์ง ํดํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋์คํฌ์์ ํด๋น ํ์ด์ง๋ฅผ ์ฝ์ด์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋น ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ, ์ด์์ฒด์ ๋ ํ์ด์ง ๊ต์ฒด(Page Replacement) ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํ์ด์ง๋ฅผ ๋์คํฌ๋ก ๋ด๋ณด๋ด๊ณ , ์๋ก์ด ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํฉ๋๋ค.
Q1. 0์ด ๋ค์ด์๋ ๋ณ์์ 10๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํด์ ++ย ์ฐ์ฐ์ ํ๋ฉด ์ฐ๋ฆฌ ์์๊ณผ ๋ค๋ฅด๊ฒ 10์ด ๋์ค์ง ์์ต๋๋ค. ์ ๊ทธ๋ด๊น์?
์ ๋ต
- i++์ด 3๊ฐ์ instruction(READ-MODITY-WRITE)๋ก ๊ตฌ์ฑ๋์ด์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์๋ ์ค๋ ๋ ํ๋๊ฐ ๊ฐ์ ์ฝ์ด i+1์ ํ๊ธฐ ์ง์ ์ ๋ค๋ฅธ ์ค๋ ๋๊ฐ i๋ฅผ ์ฝ์ด i+1์ ์ํํ๊ณ ๋ฐ์ํ๋ ๋์์ ์ํํ๋ค๋ฉด ํ์์ ์ฐ์ฐ์ ๋ฌดํจ๊ฐ ๋๋ ํ์์ด ๋ฐ์ํฉ๋๋ค.
Q2. Java์์ ๋์์ฑ๊ณผ ๊ด๋ จ๋ ์์ฝ์ด๋ฅผ ๋ง์ํด์ฃผ์ธ์. (๊ฐ์์ฑ, ์์์ฑ์ ๊ฐ๋ ์ ํฌํจํด์!)
์ ๋ต
- volatile: ๊ฐ์์ฑ ๋ณด์ฅ / synchronized: ๊ฐ์์ฑ, ์์์ฑ ๋ณด์ฅ / Atomic: non-blocking, ๊ฐ์์ฑ, ์์์ฑ ๋ณด์ฅ
์ ๋ต
- ์ฐ๋ ๋ ๋ก์ปฌ์ ๋ฉ๋ชจ๋ฆฌ ๋์์ ์ฃผ๋ฒ์ด ๋จ์ผ๋ก ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Thread pool ํ๊ฒฝ์์ ThreadLocal์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ณ์์ ๋ณด๊ด๋ ๋ฐ์ดํฐ ์ฌ์ฉ์ด ๋๋๋ฉด ๋ฐ๋์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผ ํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฌ์ฉ ๋๋ ์ฐ๋ ๋๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ์๋ ์์ต๋๋ค.
- ๋์ญํญ์ 2๋ฐฐ ๋ํ SDRAM:
- ์๊ฐ์ด ์ง๋๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๋ RAM:
- ๋ฐ์ดํฐ์ ์๋ฉธ์ ๋ง๊ธฐ ์ํด ์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌํ์ฑํํด์ผ ํ๋ RAM:
- ํด๋ญ๊ณผ ๋๊ธฐํ๋ DRAM:
- ์ฃผ๋ก ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ์ฉ:
- ์ฃผ๋ก ์ฃผ๊ธฐ์ต์ฅ์น๋ก ํ์ฉ:
- ๋์ฉ๋ํํ๊ธฐ ์ ๋ฆฌ:
- ์ง์ ๋๊ฐ ์๋์ ์ผ๋ก ๋ฎ์:
์ ๋ต
- ๋์ญํญ์ 2๋ฐฐ ๋ํ SDRAM: DDR SDRAM
- ์๊ฐ์ด ์ง๋๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๋ RAM: SRAM
- ๋ฐ์ดํฐ์ ์๋ฉธ์ ๋ง๊ธฐ ์ํด ์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌํ์ฑํํด์ผ ํ๋ RAM: DRAM
- ํด๋ญ๊ณผ ๋๊ธฐํ๋ DRAM: SDRAM
- ์ฃผ๋ก ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ์ฉ: SRAM
- ์ฃผ๋ก ์ฃผ๊ธฐ์ต์ฅ์น๋ก ํ์ฉ: DRAM
- ๋์ฉ๋ํํ๊ธฐ ์ ๋ฆฌ: DRAM
- ์ง์ ๋๊ฐ ์๋์ ์ผ๋ก ๋ฎ์: SRAM
์ ๋ต
- CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ์๊ฐ์ด CPU์ ์ฐ์ฐ ์๋๋ณด๋ค ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ณ๋ชฉ ์ง์ ์ ์ฒ๋ฆฌ ์๊ฐ ์ฐจ์ด๋ฅผ ๋ฉ์ฐ๊ธฐ ์ํด ์ฌ์ฉ
Q3. ์ ์ฅ ์ฅ์น ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์์ฑํด๋ณด์ธ์. (๋ฉ๋ชจ๋ฆฌ, ๋ณด์กฐ๊ธฐ์ต์ฅ์น, ์บ์ ๋ฉ๋ชจ๋ฆฌ, ๋ ์ง์คํฐ)
1๏ธ. 1:1 model 2๏ธ. 1:M model 3๏ธ. N:M model 4๏ธ. 3-level model
์ ๋ต
**4๏ธ. 3-level model**Q2. ์ ์ ๋ ๋ฒจ์ ์ค๋ ๋์ ์ปค๋ ๋ ๋ฒจ์ ์ค๋ ๋ ์ค๊ฐ์ ์๋ ๊ณ์ธต์ผ๋ก ๋์ ํต์ ์ ๋๋ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ์?
์ ๋ต
** Light Weight Process(LWP)**- ๋ค๋๋ค ๋ชจ๋ธ์ด๋ two-level ๋ชจ๋ธ์์ ํ๋ก์ธ์ค์ ํ ๋น๋ ์ ์ ํ ์์ ์ปค๋ ์ค๋ ๋๋ฅผ ์ ์งํ๊ธฐ ์ํด์ ์ปค๋๊ณผ ์ ์ ๋ ๋ฒจ ์ค๋ ๋์ ๋งค๋์ ์ ํต์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ์ด ๋ ์ปค๋ ์ค๋ ๋์ ์ ์ ์ค๋ ๋์ ์ง๊ฒ๋ค๋ฆฌ ์ญํ ์ ํ๋ ๊ณ์ธต์ด๋ค.
- ํด๋น ๊ณ์ธต์ด ์๋ ๋ชจ๋ธ์์ โLight Weight Processโ๋ ์ผ๋ฐ์ ์ผ๋ก ์ปค๋ ์ค๋ ๋๋ฅผ ์๋ฏธํ๊ณ , โThreadโ๋ ์ ์ ์ค๋ ๋๋ฅผ ์๋ฏธํ๋ค.
1๏ธ. ํ๋ก์ธ์ค 2๏ธ. ์ค๋ ๋ 3๏ธ. ์ปค๋ ๋ ๋ฒจ ์ค๋ ๋ 4๏ธ. ๋ชจ๋ ๊ฐ๋ฅ
์ ๋ต
**4๏ธ. ๋ชจ๋ ๊ฐ๋ฅ**์ ๋ต
์์์ฑ๊ณผ ๊ฐ์์ฑ
์ ๋ต
๋๊ธฐ ์ค๋ ๋๋ก ์ธํ ์ฑ๋ฅ์ ํ, ๋ฐ๋๋ฝ / ์ฑํฌ๋ก๋์ด์ฆ๋ ๋ธ๋ก ๋ด์์ ์ฐธ์กฐ๊ฐ์ฒด๋ฅผ ์์ ํ๋ ๊ฒ, ๋ฉ์๋์ ์ฒด๊ฐ ์๋, ๊ฐ์ฒด๋ ๋ฒ๋ก ์ง์ ํ๋ค.
Q3. atmoicReference ๋ ์ด๋ค ๋ฐฉ์์ **1) ๋๊ธฐํ**์ธ์ง ๊ทธ๋ฆฌ๊ณ ๋ด๋ถ์์ ์ฌ์ฉ๋๋ ๋๊ฐ์ง **2) ๋ฉ์ปค๋์ฆ**์?
์ ๋ต
1. ๋ ผ๋ธ๋กํน ๋ฐฉ์ 2. CAS์๊ณ ๋ฆฌ์ฆ๊ณผ volatileํค์๋

