๋ฐ์ดํฐ๋ฅผ ์์ฐํ๋ ์ฃผ์ฒด(producer, ์์ฐ์), ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฃผ์ฒด(consumer, ์๋น์), ๋ฐ์ดํฐ ๋ชฉ๋ก(Channel, buffer ๋ฑ ๋ค์ํ๊ฒ ๋ถ๋ฅด๋๋ผ)์ผ๋ก ๋ถ๋ฆฌ.
๋ฐ์ดํฐ ์์ฑ, ์ฒ๋ฆฌ ๋ถ๋ถ์ ์ค๊ฐ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ๋๋ ๊ฒ.
๋ฐ์ดํฐ์ ํ๋ฆ
์์ฐ์ > ๋ฒํผ(๋ฐ์ดํฐ ๋ชฉ๋ก) > ์๋น์
- ์์ฐ์๊ฐ ์์ดํ ์ ์์ฐํ๊ณ ๊ฐ ์์ดํ ์ ๋ฒํผ๊ฐ ๊ฐ๋์ฐฐ ๋๊น์ง ๋ฃ๋๋ค. ๋ฒํผ์ ์ฌ์ ๊ณต๊ฐ์ด ์๊ธฐ๋ฉด ์์ฐ์๊ฐ ๋ค์ ์์ดํ ์ ์์ฐํด ๋ฒํผ์ ๋ฃ๋๋ค.
- ์๋น์๊ฐ ์์ดํ ์ ๋ฒํผ์์ ๊บผ๋ด ์๋นํ๊ณ , ๋ฒํผ์ ์์ดํ ์ด ์์ผ๋ฉด ๋๊ธฐํ๋ค.
๋ฐ์ดํฐ ์์ฐ ์ฃผ์ฒด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ฃผ์ฒด๋ฅผ ๋ถ๋ฆฌํ๊ธฐ์ ์ฝ๋์ coupling์ ์ค์ธ๋ค.
์์ฐ์๋ ์๋น์์ ๋ํด ์ ๊ฒฝ ์ธ ํ์๊ฐ ์๋ค. ์๋น์๋ ์์ฐ์์ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์๋ค.
๋ฉํฐ์ฐ๋ ๋ ํ์ฉ์ ์ฌ์ฉํ๋ ํจํด. ์ฒ๋ฆฌ๋๊ณผ ์๋๋ฅผ ๋๋ฆฌ๊ณ ์ ํ ๋ ์ฌ์ฉ. Thread-safe ๊ณ ๋ ค๊ฐ ํ์.
'๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programming] Closure (0) | 2021.02.19 |
---|---|
[Kotlin Coroutines] @ExperimentalCoroutinesApi (0) | 2021.02.19 |
[Network] 443 80 (0) | 2021.02.18 |
[SonarQube] SonarQube ์ค์น ๊ทธ๋ฆฌ๊ณ ์ค์น ํ์ธ ์ฐ๋นํํ (0) | 2021.02.18 |
[Java] Version ๊ต์ฒด (0) | 2021.02.18 |