ScopedValue
- Java 21์์ ๋์
๋ ScopedValue๋ ThreadLocal์ ๋์์ผ๋ก, ํน์ ์ค๋ ๋ ์ปจํ
์คํธ ๋ด์์ ์์ ํ๊ฒ ๊ฐ์ ์ ๋ฌํ ์ ์๋๋ก ์ค๊ณ
- ์ด๋ ํนํ ๊ฐ๋ณ์ฑ(mutation) ๋ฌธ์ ๋ฅผ ํผํ๋ฉด์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ๋ฌ์ ๊ฐ๋ฅ
ํน์ง
- Immutability: ํ ๋ฒ ์ค์ ๋๋ฉด ๋ณ๊ฒฝํ ์ ์์
- Context Bound: ํน์ ๋ฒ์(์ค์ฝํ) ๋ด์์๋ง ์ ํจ
- Thread Safety: ThreadLocal๊ณผ ๋ฌ๋ฆฌ ๋ถ๋ณ์ฑ์ ์ ์งํ์ฌ ๋์์ฑ ์ด์ ๊ฐ์
- GC ์นํ์ : ๋ถํ์ํ ์ฐธ์กฐ๋ฅผ ๋จ๊ธฐ์ง ์์
ThreadLocal ์ฐจ์ด
ํน์ง | ScopedValue | ThreadLocal |
---|
๋ณ๊ฒฝ ์ฌ๋ถ | Immutability | Mutable |
GC | Scope ์ข
๋ฃ์ | ๋ช
์์ ์ ๊ฑฐ |
Thread Safe | ์์ | ๋ฐ์ ๊ฐ๋ฅ์ฑ |
Reference