๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๊ธฐ๋ก/โ˜€๏ธ ํ•˜๊ณ„ ์ธํ„ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ก

Android : suspend function์ด๋ž€?

by hyeonha 2024. 8. 29.

suspend function๊ฐ€ ํ•„์š”ํ•œ ์ด์œ , ์ด๊ฒƒ์ด ์—†๋‹ค๋ฉด ?

ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ block ๋˜๋ฉด ํ•ด๋‹น thread๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†๋Š” block ์ƒํƒœ์— ๋†“์ด๊ฒŒ ๋œ๋‹ค.

์ฆ‰ blocked ์ƒํƒœ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋Š” ์ค‘์ง€ ์ƒํƒœ์ธ ๊ฒƒ์ด๋‹ค!

๊ทธ๋Ÿฌ๋‚˜ suspend ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด blocked ๋œ ์ƒํƒœ์— ๋†“์ผ ๋•Œ, ๊ทธ ์ž‘์—…์„ suspend ํ•˜๊ณ  ๊ทธ ๊ธฐ๊ฐ„๋™์•ˆ thread์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋šฑ์ด์˜ ํ•˜๋ฃจ : ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ

์•ˆ๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๊ฐ€ ๋นŒ๋“œ ์‹œ๊ฐ„์ด 3๋ถ„ !!! ๊ฑธ๋ฆฌ๋Š” ํ”Œ์ ์„ ๋นŒ๋“œ์‹œํ‚ด : 3๋ถ„๋™์•ˆ blocked ๋‹นํ•œ ์ƒํƒœ

 

suspend function์˜ ๊ฒฝ์šฐ : ๋นŒ๋“œ๊ฐ€ ๋Œ์•„๊ฐ€๋Š” 3๋ถ„๋™์•ˆ ๋ผ๋ฉด์„ ๋“์ผ ์ˆ˜ ์žˆ์Œ

suspend function์ด ์•„๋‹Œ ๊ฒฝ์šฐ : ์•ˆ๋“œ ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผํ•จ

 

๐Ÿ’ก suspend function์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๊ณผ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ viewmodelScope.launch {} ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋Š”??

๋‹ค์Œ ์‹œ๊ฐ„์— ์•Œ์•„๊ฐ€๋ณด์ž

728x90