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

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (220)

JiYoung Dev ๐Ÿ–ฅ

[Android] ์Šค๋ ˆ๋“œ(Thread) & ํ•ธ๋“ค๋Ÿฌ(Handler) (2023.07.27)

Thread ํ์— ์Šค๋ ˆ๋“œ ์ €์žฅ ์ปดํ“จํ„ฐ ์ž‘์—…์€ CPU๊ฐ€ ํ•จ. CPU๋Š” ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ผ์ฒ˜๋ฆฌ๋ฅผ ํ•จ ์ž‘์—… ์Šค์ผ€์ฅด๋ง์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ → ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ ์Šค๋ ˆ๋“œ ๋ผ์ดํ”„์‚ฌ์ดํด (์Šค๋ ˆ๋“œ ์ƒ๋ช…์ฃผ๊ธฐ) ์ฒซ๋ฒˆ์งธ ์Šค๋ ˆ๋“œ๋Š” ๋‘๋ฒˆ์งธ ์Šค๋ ˆ๋“œ์—๊ฒŒ ์–‘๋ณด : yeild ๋‘๋ฒˆ์งธ ์Šค๋ ˆ๋“œ๋Š” ์ฒซ๋ฒˆ์งธ ์Šค๋ ˆ๋“œ์˜ cpu๋Š” ๊ฐ€๋กœ์ฑ” : interupt start(), run(), yeild(), interupt(), sleep() ๋“ฑ์˜ ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„์ด ๋˜์–ด ์žˆ์Œ ์Šค๋ ˆ๋“œ1 ์‹œ์ž‘ ํ›„ ๋‹ค์‹œ ์‹คํ–‰๋  ๋•Œ๋Š” run() ์ƒํƒœ๋กœ ์‹คํ–‰๋จ(๋‹ค์‹œ start() X) Handler ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Handler๊ฐ€ ํ•„์š”ํ•จ ์•ˆ๋“œ๋กœ์ด๋“œ ์–ดํ”Œ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด Task๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๊ทธ ์•ˆ์— activity๋“ค์ด ์Œ“์ด๋Š” ๊ตฌ์กฐ ์•ˆ๋“œ๋กœ์ด๋“œ๋Š” ์–ดํ”Œ์„ ์—ฌ๋Ÿฌ..