본문 바로가기

Thread2

[Go] Java 개발자의 GoLang 튜토리얼 - Goroutine & GMP Model 개요 GoLang을 잘 모르시는 분들이라도 Go하면 Goroutine을 사용한 효율적인 Thread의 운용으로 동시성에 대해서 좋은 퍼포먼스와 쉬운 사용을 보여주는 언어라는 사실 정도는 들어보신적이 있으실것 같습니다. 오늘은 GoLang의 Thread 모델과 이론에 대해서 간단히 본 후 goroutine의 사용방법에 대해서 알아보도록 하겠습니다. 먼저 실습을 통해서 돌아가는 모습을 확인해보겠습니다. 그리고 기반이 되는 이론에 대해서 잠시 살펴보도록 하겠습니다. 주의하실 점은 해당 포스팅에서의 이론은 깊지 않습니다. 좀 더 깊은 내용은 레퍼런스를 참고해주세요. goroutine (고루틴) goroutine은 Go의 Runtime에 의해서 관리되는 경량 thread(aka. green thread)입니다. .. 2023. 10. 10.
[java] ThreadLocal에 관하여 안녕하세요. 오늘은 ThreadLocal에 대해서 알아보도록 하겠습니다. 변수를 공유하는 방법 객체는 Heap 또는 Stack 메모리 영역에 배치시킬 수 있습니다. Heap 영역은 일반적으로 모든 thread에서 접근 할 수 있으며 stack은 thread 하나당 만들어 지는 메모리 영역으로 thread간 접근이 불가능한 것으로 알려져 있습니다. 아래 코드의 UserRepository 변수는 Heap 영역에 만들어진 객체를 가리키고 있으며 다른 곳에서도 해당 객체를 바로 접근할 수 있습니다. 함께 공유해서 사용하기 때문에 여러 thread에서 사용할 때 공유된 정보로써 제공할 수 있습니다. 따라서 만약 UserRepository가 설정 정보를 가지고 있고 이를 변경한다면 사용하고 있는 모든 곳에서 영향을.. 2021. 5. 15.