ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 그린 스레드 란
    Etc 2017. 4. 14. 17:19

    - Green Thread란?
    그린 쓰레드는 자바가상머진(JVM)내에서 생성하는 쓰레드를 의미한다. 이 쓰레드는 JVM에 의해서 컨트롤된다. 따라서 시스템레벨에서 볼때는 커널 위에 JVM에 떠있고, 그 위에 다시 여러개의 Green thread가 작동하는 방식이다. 따라서 JVM을 거쳐서 작동하므로 성능상으로 오버헤드가 필연적으로 생긴다.
    에전에 IBM에서 제작한 JDK는 이 green thread를 지원하지 않았다. 그리고 이것은 당연히 native thread만 지원하는 것이 되므로 성능상으로는 훨씬 좋았다.

     

     

    - Native Thread란?
    위에서 그린은 JVM위에서 작동한다고 했으니 Native thread가 무엇인지 눈치 빠른 사람은 대충 눈치를 챘을 것이다. 그렇다. Native는 말그대로 순수하게 OS의 thread를 이용하는 것이다. 따라서 Kernel이 제어하게 되는 쓰레드이므로 JVM을 거치지 않으므로 오히려 성능상으로는 좋다. 하지만, 시스템에 따라서 쓰레드의 구현범위가 다르고 그 차이로 인해서 일관된 성능과 안전성은 보장 받을 수 없다. 또한, 해당 서버에서 정해놓은 Thread 제한 수에 영향을 받게 된다. 따라서 native thread를 사용할때는 항상 시스템에서 최대 생성할 수 있는 개수를 확인해두는 것이 좋다.
    실제로 네이티브 쓰레드를 사용하는 경우는 ps에서 보면 java가 여러개가 떠있는 것으로 확인할 수 있다.(linux에서는 쓰레드가 하나의 프로세스로 나타나므로 확인하기 쉽다)   



    출처: http://computtee.tistory.com/entry/java-쓰레드-종류 [컴퓨티]

    'Etc' 카테고리의 다른 글

    나보다 똑똑한 부하를 리드하는 방법  (0) 2017.07.04
    컴포넌트  (0) 2017.07.03
    자바 쓰레드 기초 설명  (0) 2017.04.03
    패킷이란?  (0) 2017.04.03
    자바스크립트 콜백 함수 처리 좋은 소스  (0) 2017.04.01
Designed by Tistory.