Thread2 [Java] Thread 클래스와 ThreadPoolExecutor 클래스 단순 Thread 클래스를 사용하게 되면? 자바8 기준 사용자 레벨 스레드를 사용하지 않음 JVM을 통해 OS의 시스템콜을 호출하여 커널 스레드를 1:1로 할당 받음 ⇒ 스레드 생성 비용이 너무 크다!!!!!!!!!!!!!!!!!!!!! (스레드 맵핑과 관련한 글은 아래 글에서 확인하실 수 있습니다.) 2023.09.10 - [컴퓨터공학/운영체제] - [운영체제?] 스레드의 종류(하드웨어스레드, 커널레벨스레드, 유저레벨스레드) 헉! 그럼 자바에서 스레드를 사용하면 비효율적이네요! 하지만 당근빠따루 스레드풀을 사용할 수 있음 concurrent 패키지의 ThreadPoolExecutor 클래스로 사용 ⚠️ Executors.newFixedThreadPool(100)로 생성 시 작업 큐 사이즈가 Intege.. 2023. 9. 10. [운영체제?] 스레드의 종류(하드웨어스레드, 커널레벨스레드, 유저레벨스레드) 하드웨어 스레드 일단은 우리가 알고 있는 스레드 개념은 잊자 코어의 고민 : 메모리에서 데이터를 기다리는 시간이 오래 걸려… 메모리를 기다리는 동안 다른 스레드를 실행하는 건 어떨까? 메모리에 접근하는 과정 중간중간 다른 연산을 처리하자 (코어 사용률 극대화) 인텔의 hyper-threading : 물리적인 코어마다 하드웨어 스레드가 두 개 OS 관점에서 가상의 코어 ex) 싱글 코어 CPU에 하드웨어 스레드가 두 개 라면 OS는 CPU를 듀얼 코어로 인식 소프트웨어 스레드 커널 레벨 스레드 CPU에서 실제로 실행되는 단위, CPU 스케쥴링의 단위 OS 쓰레드의 컨텍스트 스위칭은 커널이 개입하기 때문에 비용이 발생 또는 OS 커널의 역할을 수행하는, 커널 코드를 실제 실행하는 쓰레드 유저 레벨 스레드 쓰.. 2023. 9. 10. 이전 1 다음