Tech Blog

직접 구현하고 검토를 거친 기술적 선택과 설계를 정리해 남깁니다

태그: Thread (2)

[Blocking vs Non-Blocking] 왜 헷갈릴 수밖에 없는가 - 애매성에 대한 언어학적 해설

서론 Blocking 과 NonBlocking의 개념에 대해 익히 공부하셨을 겁니다. 보통 작업이 완료될 때까지 제어권을 반환하는가로 구분됩니다. 호출한 작업이 끝날 때까지 호출한 쓰레드는 멈추게 된다고도 해설하죠. 다만 아래 함수는 Blocking Function 일까요? 함수는 작업이 완료될 때 까지 호출자에게 제어권을 반환하지 않습니다. 이 경우 블로킹 함수라 정의할 수 있죠. 다만, 함수는 작업이 완료될 때 까지 스레드의 제어 아래에 있습니다. 이 경우 스레드는 단순히 Busy하게 작업을 진행할 뿐, OS에게 제어권을


[Blocking vs Non-Blocking] 왜 헷갈릴 수밖에 없는가 - 애매성에 대한 언어학적 해설
CS
Linguistics
+1

Java의 new Thread()는 어떻게 OS 커널 스레드가 될까?

Java에서 new Thread() 를 호출하면 OS의 커널레벨 스레드와 1대1로 매핑된다고 흔히들 공부하실 겁니다. 다만 이 인스턴스가 OS에서 다루는 스레드까지 도대체 어떤 과정을 통해서 매핑되는 지는 와닿지 않으실겁니다. 사진 출처: 우아한 기술 블로그 개발자 이전에 공학도로서 한번 top-down으로 파고들며 분석해보겠습니다. OS부터 올라오기 보단 친숙한 Java 애플리케이션 레벨 부터 시스템콜을 호출 하는 부분까지 실제 동작 과정을 코드를 타고가며 관측해보겠습니다. 코드 분석 Java 표준 라이브러리 - Thr


Java의 new Thread()는 어떻게 OS 커널 스레드가 될까?
프로그래밍 언어
Java
+6