1์‹œ๊ฐ„๋งŒ์— ๋๋‚ด๋Š” virtual thread in spring boot

spring boot 3.2.0 ( + JDK 21 )๋ถ€ํ„ฐ ์ง€์›๋˜๋Š” virtual thread ๋ฅผ ๋น ๋ฅด๊ฒŒ ์•Œ์•„๋ณด๊ณ , ์„ฑ๋Šฅ๊ฐœ์„ ์— ๋Œ€ํ•œ ํžŒํŠธ๋ฅผ 1์‹œ๊ฐ„๋งŒ์— ๋ฌด๋ฃŒ๋กœ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(4.9) ์ˆ˜๊ฐ•ํ‰ 55๊ฐœ

์ˆ˜๊ฐ•์ƒ 1,053๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

์„ฑ๋Šฅํ–ฅ์ƒ
์„ฑ๋Šฅํ–ฅ์ƒ
์Šค๋ ˆ๋“œ
์Šค๋ ˆ๋“œ
๊ฐœ๋ฐœ์ž๋„๊ตฌ
๊ฐœ๋ฐœ์ž๋„๊ตฌ
์„ฑ๋Šฅํ–ฅ์ƒ
์„ฑ๋Šฅํ–ฅ์ƒ
์Šค๋ ˆ๋“œ
์Šค๋ ˆ๋“œ
๊ฐœ๋ฐœ์ž๋„๊ตฌ
๊ฐœ๋ฐœ์ž๋„๊ตฌ
Thumbnail
ํ˜„๋Œ€์˜คํ† ์—๋ฒ„
๋„ท๋งˆ๋ธ” F&C
์œ„๋ฉ”ํ”„
์—”์”จ์†Œํ”„ํŠธ
๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€

๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

ํ˜„๋Œ€์˜คํ† ์—๋ฒ„
๋„ท๋งˆ๋ธ” F&C
์œ„๋ฉ”ํ”„
์—”์”จ์†Œํ”„ํŠธ
๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€

๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.9

5.0

denia park

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

Virtual Thread๋ฅผ ์จ๋ณผ๊นŒ ์ƒ๊ฐ์€ ํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์‚ฌ์‹ค ์–ด๋–ป๊ฒŒ ์จ์•ผํ• ์ง€ ๋„ˆ๋ฌด ๋ง‰๋ง‰ํ•ด์„œ ๊ณ ๋ฏผ๋งŒ ๋งŽ์•˜๋Š”๋ฐ ๊ทธ๋Ÿฐ ๊ณ ๋ฏผ ๋˜๋Š” ์ ๋“ค์„ ๋”ฑ ์ฐ์–ด์„œ ์•Œ๋ ค์ฃผ์‹œ๋Š” ๊ฐ•์˜๋ผ์„œ ์ •๋ง ์ž˜ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ, ์–ด๋–ค ๊ฒƒ๋“ค์ด ํ•„์š”ํ•œ์ง€ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ ๋“ค์„ ๊ณ ๋ คํ•ด์„œ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š”์ง€ ์นœ์ ˆํ•˜๊ฒŒ ๋‹ค ์•Œ๋ ค์ฃผ์…”์„œ ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

5.0

์กฐ์›์ค€

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์‹ค์ œ ์ฝ”๋“œ๋กœ ๋Œ๋ ค๋ณด๊ธฐ ์•„์ฃผ ์ข‹์€ ์˜ˆ์ œ๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค! virtual thread์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ธ์‚ฌ์ดํŠธ ์–ป๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

5.0

๋ฐ์ž์™€์•„

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์งง์€ ์‹œ๊ฐ„์ธ๋ฐ๋„ ๋งŽ์€ ๋‚ด์šฉ์„ ๋‹ด์•„์„œ ์ „๋‹ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ๊ฐ€ ์–ด๋””์— ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€ ์ฃผ์˜ํ•ด์•ผ ์ ๋„ ์•Œ๋ ค์ฃผ์…”์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹คb

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • pure java ์—์„œ virtual thread ์ƒ์„ฑ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • spring boot ์—์„œ์˜ virtual thread ํ™œ์šฉ๋ฐฉ๋ฒ•

webflux๋Š” ๊ณต๋ถ€ํ•˜๊ธฐ ์–ด๋ ค์šด๋ฐ,
์„ฑ๋Šฅ์„ ๋†’์ผ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์€ ์—†์„๊นŒ? ๐Ÿค”


๋‹ต์€ virtual thread์— ์žˆ์Šต๋‹ˆ๋‹ค.

virtual thread๋Š” JDK 21๋ถ€ํ„ฐ ์ง€์›๋˜๋ฉฐ , spring boot 3.2.0 ๋ถ€ํ„ฐ ์ž๋™์„ค์ •(auto configuration)์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. virtual thread ๋ฅผ ํ†ตํ•ด blocking/waiting ํ•˜๊ณ  ์žˆ๋Š” thread ๋ฅผ ์ค„์ด๊ณ  ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

webflux์™€ ๊ฐ™์€ reactive programming์„ ๊ณต๋ถ€ํ•˜๋‹ค ์ง€์ณค๋‹ค๋ฉด virtual thread๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋˜ ๋‹ค๋ฅธ ๋Œ€์•ˆ์ด ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜์—์„œ virtual thread ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ spring boot ์—์„œ์˜ ํ™œ์šฉ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์„œ ์‹ค๋ฌด์—์„œ ์กฐ๊ธˆ ๋” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ virtual thread ์ ์šฉํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

#SpringBoot #JAVA #virtual thread #thread #๋™์‹œ์„ฑ

์ด ๊ฐ•์˜์˜ ํŠน์ง•

๐Ÿ“Œ ๋‹จ์ˆœ ์ฃผ์ž…์‹ ์ด๋ก  ๋ณด๋‹ค๋Š” ์‹ค์Šต์„ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด๋ก ์„ ์ตํžˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๋ฐ”์œ ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•ด 1์‹œ๊ฐ„์งœ๋ฆฌ ๊ฐ•์˜์— ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์„ ๋ชจ๋‘ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” windows, IntelliJ community ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ๊ธฐ๋ณธ์ ์ธ JAVA, Spring Boot ์ง€์‹์€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • thread ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ( context switching )

  • hello world ์ˆ˜์ค€์œผ๋กœ, ๊ธฐ์ดˆ ์ฒด๋ ฅ์„ ํ‚ค์šด ํ›„์—๋Š” ๊นŠ์ด์žˆ๊ฒŒ ์ถ”๊ฐ€๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๊ธฐ์กด thread ์™€ virtual thread ์˜ ์ฐจ์ด์ ์„ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ์•Œ๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • virtual thread์— ๋Œ€ํ•œ ์ด๋ก ๋ณด๋‹ค๋Š” ์‹ค์Šต/ํ™œ์šฉ์„ ๋จผ์ € ์•Œ๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • reactive/webflux ๊ณต๋ถ€ํ•˜๋‹ค ํฌ๊ธฐํ–ˆ์ง€๋งŒ ์„ฑ๋Šฅ๊ฐœ์„ ์€ ํฌ๊ธฐํ•˜๊ธฐ ์‹ซ์€ ๊ฐœ๋ฐœ์ž

  • ๊ฐ€๋ณ๊ฒŒ virtual thread๋ผ๋Š” ์‹ ๊ธฐ์ˆ ์„ ํŽธํ•˜๊ฒŒ ์•Œ์•„ ๋ณด๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • JAVA

  • Spring Boot

์•ˆ๋…•ํ•˜์„ธ์š”
Hello World์ž…๋‹ˆ๋‹ค.

7,324

๋ช…

์ˆ˜๊ฐ•์ƒ

301

๊ฐœ

์ˆ˜๊ฐ•ํ‰

17

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

5

๊ฐœ

๊ฐ•์˜

์‚ผ์„ฑ์ „์ž, LG CNS, LG ์ „์ž ๋“ฑ์„ ๊ฑฐ์ณ ํ˜„์žฌ๋Š” ๋Œ€๊ธฐ์—… S ์‚ฌ์—์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์—…๋ฌด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ ์Šค์Šค๋กœ ๋” ๊นŠ์ด ์•Œ๊ฒŒ ๋˜์–ด ๊ฐ•์˜ํ•˜๋Š” ๊ฑธ ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ๐Ÿ™‚ ๐Ÿ˜ƒ ๐Ÿ˜†

 

youtube: https://www.youtube.com/@HelloWorldStudy

 

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

18๊ฐœ โˆ™ (1์‹œ๊ฐ„ 13๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

55๊ฐœ

4.9

55๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ์ฟ ์นด์ด๋“ ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์ฟ ์นด์ด๋“ 

    ์ˆ˜๊ฐ•ํ‰ 518

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    17% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    virtual thread์— ๋Œ€ํ•ด ๋งŽ์ด ๋ฐฐ์›Œ๊ฐ€๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค! ์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌ๋“œ๋ ค์š”~~

    • Hello World
      ์ง€์‹๊ณต์œ ์ž

      ์ข‹์€ ์ˆ˜๊ฐ•ํ‰ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์•„์ง์€ ํ˜„์—…์— ์ ์šฉํ•˜๋Š” ๊ณณ์ด ๋ณ„๋กœ ์—†์ง€๋งŒ ์•Œ๊ณ ์žˆ์œผ๋ฉด ์ข‹์€ ์ง€์‹์ด์ง€์š” :)

  • ์†ํƒœ์›๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์†ํƒœ์›

    ์ˆ˜๊ฐ•ํ‰ 6

    โˆ™

    ํ‰๊ท  ํ‰์  4.3

    5

    33% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊ฐ„๊ฒฐํ•˜๊ณ  ์ข‹๋„ค์š”.

    • Hello World
      ์ง€์‹๊ณต์œ ์ž

      ์†ํƒœ์›๋‹˜ ์ข‹์€ ์ˆ˜๊ฐ•ํ‰ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ์ฆ๊ฑฐ์šด ๋ฐ”๋‹ค์‚ฌ์ž๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์ฆ๊ฑฐ์šด ๋ฐ”๋‹ค์‚ฌ์ž

    ์ˆ˜๊ฐ•ํ‰ 2

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    33% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ดํ•ดํ•˜๊ฒŒ ์ข‹๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

    • Hello World
      ์ง€์‹๊ณต์œ ์ž

      ์ข‹์€ ์ˆ˜๊ฐ•ํ‰ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • Son์›์ฒ ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Son์›์ฒ 

    ์ˆ˜๊ฐ•ํ‰ 18

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    33% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊ฐ€์ƒ์Šค๋ ˆ๋“œ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ์ „๋ฐ˜์ ์ธ ์Šค๋ ˆ๋“œ ์ดํ•ด์— ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :>

    • Hello World
      ์ง€์‹๊ณต์œ ์ž

      ์“ฐ๋ ˆ๋“œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด์— ๋„์›€์ด ๋˜์—ˆ๊ตฐ์š” :) ์ข‹์€ ์ˆ˜๊ฐ•ํ‰ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ผ์Šน์œค๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์‚ผ์Šน์œค

    ์ˆ˜๊ฐ•ํ‰ 5

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์งง์€ ์‹œ๊ฐ„์— ์••์ถ•์ ์œผ๋กœ ์ค‘์š”ํ•œ ๋‚ด์šฉ๊ณผ ์‚ฌ๋ก€ ๋ถ€๋ถ„๋งŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์„œ ์•Œ์ฐฌ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค.

    • Hello World
      ์ง€์‹๊ณต์œ ์ž

      ์•Œ์ฐจ๊ฒŒ ๋“ค์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :)

Hello World๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋ฌด๋ฃŒ