linkedin์์ ๋ณธ ํฅ๋ฏธ๋ก์ด Post๋ฅผ ์๊ฐํ ๊น ํฉ๋๋ค.
- Task์์ ValueTask๋ก ์ ํํด์ผ ํฉ๋๊น?
๊ฒฐ์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ค์์ ํด๋น ํฌ์คํธ์ ์ ๋ฌธ๋ฒ์ญ๋ณธ์ ๋๋ค.
NET์์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ ๋ 'Taskโ์ 'ValueTaskโ๋ผ๋ ๋ ๊ฐ์ง ์ ํ์ ์์ ์ ์ ํ ์ ์์ต๋๋ค.
์ธ๋ป ๋ณด๊ธฐ์๋ ๋น์ทํด ๋ณด์ผ ์ ์์ง๋ง ๋ ์ฌ์ด์๋ ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ํฅ์ ์ค ์ ์๋ ์ค์ํ
์ฐจ์ด์ ์ด ์์ต๋๋ค.
๋จผ์ 'Taskโ์ด ๋ฌด์์ธ์ง ์ ์ํด ๋ณด๊ฒ ์ต๋๋ค. 'Taskโ๋ ๊ฐ์ ๋ฐํํ๊ฑฐ๋ ๋ฐํํ์ง ์์ ์ ์๋ ๋น๋๊ธฐ ์์ ์
๋ํ๋ ๋๋ค.
'Taskโ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด ํธ์ถ ์ค๋ ๋๊ฐ ํด์ ๋๊ณ 'Taskโ๊ฐ ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ์ฝ๋๋ฅผ ๊ณ์ ์คํํ ์ ์์ต๋๋ค.
'Taskโ์ด ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ(์๋ ๊ฒฝ์ฐ)๊ฐ ํธ์ถ ์ฝ๋๋ก ๋ฐํ๋ฉ๋๋ค.
๋ฐ๋ฉด์ 'ValueTaskโ๋ ๋น๋๊ธฐ ์์ ์ด์ง๋ง ๋ถํ์ํ ํ ๋น์ ๋ฐฉ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
'ValueTaskโ๋ ๊ฐ์ ๋ฐํํ๋ ์์ ๋๋ ์๋ฌด ๊ฒ๋ ๋ฐํํ์ง ์๋ ์์ ์ ๋ํ๋ผ ์ ์์ต๋๋ค.
'ValueTaskโ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ ๋์์ 'Taskโ์ ๋์๊ณผ ์ ์ฌํฉ๋๋ค: ํธ์ถ ์ค๋ ๋๊ฐ ํด์ ๋๊ณ
'ValueTaskโ๊ฐ ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ์ฝ๋๋ฅผ ๊ณ์ ์คํํ ์ ์์ต๋๋ค.
์ฃผ์ ์ฐจ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
'Taskโ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด ๋ฐํ์์์ ๋น๋๊ธฐ ์์ ์ ๋ํ๋ด๊ธฐ ์ํด โTaskโ ๊ฐ์ฒด๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค.
์ด ๊ฐ์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ ํ ๋น๋๋ฉฐ ๋ง์ โtaskโ ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ ์๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก 'ValueTaskโ๋ ๊ตฌ์กฐ์ฒด์ด๋ฏ๋ก ํ ๋์ ์คํ์ ํ ๋นํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋๊ณ ๋ง์ ์์ ๋น๋๊ธฐ ์์ ์ ์ํํ๋ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ค์ด๋ค ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ธ์ 'Taskโ๋์ 'ValueTaskโ๋ฅผ ์ฌ์ฉํด์ผํฉ๋๊น? ๋๋ต์ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
์ ์ ์์ ๋น๋๊ธฐ ์์ ์ผ๋ก ์์ ํ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ฌธ์ ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ 'taskโ์ผ๋ก ์ถฉ๋ถํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ง์ ์์ ๋น๋๊ธฐ ์์ ์ผ๋ก ์์ ํ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ 'ValueTaskโ๊ฐ ๋
๋์ ์ ํ์ผ ์ ์์ต๋๋ค.
ํนํ cancel ๋๋ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ 'ValueTaskโ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด 'Taskโ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋
๋ณต์กํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ฒฝ์ฐ โValueTaskโ ๋น๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์๋๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ 'ValueTaskโ๋ฅผ ๋ง๋ค์ด์ผ ํ ์ ์์ต๋๋ค.
๋ณ์ญ๋ณธ์ด๋ผ ์ฝ๊ธฐ ์ข ๋ถํธํ์ค์ ์์ง๋ง ์ฝ์ด๋ณด์๊ธธ ๊ถํฉ๋๋ค.
์ ๋ด์ฉ์ ์์ฝํ๋ฉด
- ValueTask ๋ ๋๊ธฐ,๋น๋๊ธฐ ์์ ์ ๋ชจ๋ ์ํ ๊ฐ๋ฅํฉ๋๋ค.
- Task ๋ ๋น๋๊ธฐ ์์ ์๋ง ์ฌ์ฉ๋ฉ๋๋ค.
- 'Taskโ์ 'ValueTaskโ๋ ๋ชจ๋ .NET์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉํ์ง๋ง ์ฑ๋ฅ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํน์ฑ์ด ๋ค๋ฆ ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
์ ์ต์ ํํด์ผ ํ๊ฑฐ๋ ๋ง์ ์์ ๋น๋๊ธฐ ์์ ์
์ํํ๋ ๊ฒฝ์ฐ 'ValueTaskโ๊ฐ ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ฌธ์ ๊ฐ ๋์ง ์๊ฑฐ๋ ์ ์ ์์ ๋น๋๊ธฐ ์์
์ผ๋ก ์์
ํ๋ ๊ฒฝ์ฐ 'taskโ์ผ๋ก ์ถฉ๋ถ
ํ ์ ์์ต๋๋ค.
์ถ๊ฐ๋ก