๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กJava (25)

๋‹ญ๋ฐœ๊ฐœ๋ฐœ

[์˜ค๋ธŒ์ ํŠธ] ๋งˆ์ง€๋ง‰ 48์ผ์ฐจ. 604-615pg | ๋„๋ฉ”์ธ ๋ชจ๋ธ, ๋ถ„์„๋ชจ๋ธ, ์„ค๊ณ„๋ชจ๋ธ, ๊ตฌํ˜„๋ชจ๋ธ

48์ผ์ฐจ. ์˜ค๋ธŒ์ ํŠธ: ์ฝ”๋“œ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„[8์ฃผ์ฐจ_ํ† ์š”์ผ] ๋งˆ์ง€๋ง‰๋‚  604-615pg #์š”์•ฝ **APPENDIX C. ๋™์ ์ธ ํ˜‘๋ ฅ, ์ •์ ์ธ ์ฝ”๋“œ** 01. ๋™์  ๋ชจ๋ธ๊ณผ ์ •์  ๋ชจ๋ธ 1) ํ–‰๋™์ด ์ฝ”๋“œ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. - ๋™์  ๋ชจ๋ธ์ด ์ •์  ๋ชจ๋ธ์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. 2) ๋ณ€๊ฒฝ์„ ๊ณ ๋ คํ•˜๋ผ -๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ๊ด€๋ จ ๋‹ค๋ฅธ ๋„์„œ์—์„œ๋Š” ๋„๋ฉ”์ธ ๋ชจ๋ธ์„ ๋จผ์ € ๋งŒ๋“ค๊ณ  ๋„๋ฉ”์ธ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„์™€ ๊ตฌํ˜„์„ ์ง„ํ–‰ํ•˜๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ๋„๋ฉ”์ธ ์•ˆ์˜ ๊ฐœ๋…๊ณผ ๊ด€๊ณ„๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋„๋ฉ”์ธ ๋ชจ๋ธ์€ ์ •์  ๋ชจ๋ธ์ธ๋ฐ? 02. ๋„๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ๊ตฌํ˜„ 1) ๋„๋ฉ”์ธ ๋ชจ๋ธ์— ๊ด€ํ•˜์—ฌ - ๋„๋ฉ”์ธ : ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ƒ์˜์—ญ - ๋ชจ๋ธ : ์ง€์‹์„ ์„ ํƒ์ ์œผ๋กœ ๋‹ค์ˆœํ™”ํ•˜๊ณ  ์˜์‹์ ์œผ๋กœ ๊ตฌ์กฐํ™”ํ•œ ํ˜•ํƒœ - ๋„๋ฉ”์ธ ๋ชจ๋ธ : ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ƒ ์˜์—ญ์— ๋Œ€ํ•œ ..

[Java] ExecutorService, Executors

์—…๋ฌด ์ค‘์— ๋‹ค๋ฅธ ์„œ๋ฒ„ ๋‘ ๊ตฐ๋ฐ๋กœ ๋ช…๋ น์–ด๋ฅผ ๋™์‹œ์— ๋ณด๋‚ด์•ผ ํ•˜๋Š” ์ผ์ด ์ƒ๊ฒผ๋‹ค. ํญํ’ ๊ตฌ๊ธ€๋ง,, 1. ExecutorService ? - ๋ณ‘๋ ฌ ์ž‘์—…์„ ํ•  ๋•Œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - ์ž‘์—…(Runnable, Callable) ๋“ฑ๋ก์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค. - ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ฒ˜๋ฆฌ ์™„๋ฃŒ ๋˜๋ฉด ํ•ด๋‹น ์“ฐ๋ ˆ๋“œ ์ œ๊ฑฐํ•˜๊ณ  ~ ์ด ์ž‘์—…์„ ์†์ˆ˜ ํ•ด์•ผ ํ•  ๊ฒƒ์„ ExecutorService๊ฐ€ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. 2. ์–ด๋–ค ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ? ExecutorService์— task๋งŒ ์ง€์ •ํ•ด์ฃผ๋ฉด ์•Œ์•„์„œ ์“ฐ๋ ˆ๋“œํ’€๋กœ task๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•จ >> task๋Š” ๋ญ˜๋กœ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ? Queue๋กœ ๊ด€๋ฆฌ๋จ, ์“ฐ๋ ˆ๋“œํ’€์— ์žˆ๋Š” ์“ฐ๋ ˆ๋“œ ์ˆ˜๋ณด๋‹ค task๊ฐ€ ๋งŽ์œผ๋ฉด, ๋ฏธ์‹คํ–‰๋œ task๋Š” ..

JAVA 2023. 8. 23. 17:34
[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 48์ผ์ฐจ. 636-649pg | ๋‹ค์–‘ํ•œ ๋‹ค๋ฅธ ํŒจํ„ด๋“ค

48์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [8์ฃผ์ฐจ_ํ† ์š”์ผ] 636-649pg ์š”์•ฝ **CHAPTER 14. ๋‹ค์–‘ํ•œ ํŒจํ„ด ๋น ๋ฅด๊ฒŒ ์•Œ์•„๋ณด๊ธฐ (feat. ๊ธฐํƒ€ ํŒจํ„ด)** ์•ž์—์„œ ์†Œ๊ฐœํ•˜์ง€ ๋ชปํ•œ ํŒจํ„ด๋“ค ๊ฐ„๋žตํ•˜๊ฒŒ ํ›‘์–ด๋ณด๊ธฐ. [ ์ฑ…์ž„ ์—ฐ์‡„ ํŒจํ„ด (Chain of Responsivility) ] - 1๊ฐœ์˜ ์š”์ฒญ์„ 2๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋ฉด! - ์ฃผ์–ด์ง„ ์š”์ฒญ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฐ์ฒด ์‚ฌ์Šฌ์„ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ ์‚ฌ์Šฌ์— ์†ํ•ด ์žˆ๋Š” ๊ฐ ๊ฐ์ฒด๋Š” ์ž๊ธฐ๊ฐ€ ๋ฐ›์€ ์š”์ฒญ์„ ๊ฒ€์‚ฌํ•ด์„œ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์‚ฌ์Šฌ์— ๋“ค์–ด์žˆ๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ๋„˜๊ธด๋‹ค. [ ํ”Œ๋ผ์ด์›จ์ดํŠธ ํŒจํ„ด ] - ์–ด๋–ค ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ '๊ฐ€์ƒ ์ธ์Šคํ„ด์Šค'๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด..! - Tree ๊ฐ์ฒด๋ฅผ ์ˆ˜ ์ฒœ ๊ฐœ ๋งŒ๋“œ๋Š” ๋Œ€์‹  ์‹œ์Šคํ…œ์„ ์กฐ๊ธˆ ๊ณ ์ณ์„œ Tree์˜ ์ธ์Šคํ„ด์Šค๋Š” ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค๊ณ  ๋ชจ๋“  ..

[ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด] 47์ผ์ฐจ. 622-635pg | ๋‹ค์–‘ํ•œ ํŒจํ„ด๋“ค

47์ผ์ฐจ ํ—ค๋“œํผ์ŠคํŠธ ๋””์ž์ธํŒจํ„ด [8์ฃผ์ฐจ_๊ธˆ์š”์ผ] 622-635pg ์š”์•ฝ **CHAPTER 13. ํŒจํ„ด๊ณผ ํ–‰๋ณตํ•˜๊ฒŒ ์‚ด์•„๊ฐ€๊ธฐ (feat. ์‹ค์ „ ๋””์ž์ธ ํŒจํ„ด)** ์‹ค์ „์—์„œ ๋””์ž์ธ ํŒจํ„ด ํ™œ์šฉํ•˜๊ธฐ [ ํŒจํ„ด์„ ์ฐพ์•„ ๋– ๋‚˜๊ธฐ : ํŒจํ„ด ์ฑ… ์ถ”์ฒœ ] 1. ๋””์ž์ธ ํŒจํ„ด์˜ ์ •์„ 2. ํŒจํ„ด ๊ต๊ณผ์„œ [ ํŒจํ„ด์„ ์ฐพ์•„ ๋– ๋‚˜๊ธฐ : ๋””์ž์ธ ํŒจํ„ด ๊ด€๋ จ ์ž๋ฃŒ ] 1. ์›น์‚ฌ์ดํŠธ - ํฌํ‹€๋žœ๋“œ ํŒจํ„ด ๋ผํฌ์ง€ํ† ๋ฆฌ - ํž์‚ฌ์ด๋“œ ๊ทธ๋ฃน - ์˜ค๋ผ์ผ๋ฆฌ์˜จ๋ผ์ธ ํ•™์Šต [ ์•ˆํ‹ฐ ํŒจํ„ด(Anti-Pattern) ] - ์–ด๋–ค ๋ฌธ์ œ์˜ ๋‚˜์œ ํ•ด๊ฒฐ์ฑ…์— ์ด๋ฅด๋Š” ๊ธธ์„ ์•Œ๋ ค์ค€๋‹ค. - ์•ˆํ‹ฐ ํŒจํ„ด์€ ์–ด๋–ค ์ด์œ ๋กœ ๋‚˜์œ ํ•ด๊ฒฐ์ฑ…์— ์œ ํ˜น๋˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค. - ์žฅ๊ธฐ์ ์ธ ๊ด€์ ์—์„œ ๊ทธ ํ•ด๊ฒฐ์ฑ…์ด ๋‚˜์œ ์ด์œ ๋ฅผ ์•Œ๋ ค์ค€๋‹ค. - ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์„ ๋งˆ๋Š—ใ„น ๋•Œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ํŒจํ„ด์„ ์ œ์•ˆํ•ด ์ค€๋‹ค. **CH..