멀티스레드 학습 필수 9가지 방법
서론:
Thread 클래스를 상속하거나 Runnable 인터페이스를 구현하는 방법 외에 run() 메서드를 재정의해야 합니다. 이 run() 메서드 내에서 발생하는 예외는 try...catch 를 통해만 처리할 수 있으며, 예외를 상위로 던jar는 것은 불가능합니다. 이는因為 run() 메서드가 예외를 던질 수 없도록 설계되었기 때문입니다.
이번 기고에서는 멀티스레드 학습 과정에서 반드시 ...
7월 15일 16:45에 게시됨
C++ 동시성 프로그래밍에서 뮤텍스와 조건 변수의 성능 비교
소개
본 글은 가장 간단한 생산자-소비자 모델을 통해 프로그램 실행 시 CPU 사용률을 관찰하여 뮤텍스와 뮤텍스+조건 변수의 성능을 비교합니다.
이 예제에서는 1개의 생산자와 5개의 소비자로 구성된 생산자-소비자 모델을 사용합니다. 생산자 스레드가 큐에 데이터를 넣고, 5개의 소비자 스레드가 큐에서 데이터를 가져옵니다. 데이터를 가져오기 전에 큐에 데이터가 있 ...
7월 15일 00:42에 게시됨
JUC 프로그래밍: Lock과 Condition
JUC란?
JUC는 Java에서 제공하는 동시성 도구 패키지로, java.util.concurrent라는 클래스 라이브러리를 의미합니다. 이 패키지는 고성능 멀티스레드 애플리케이션을 개발하기 위해 다양한 클래스와 인터페이스를 제공합니다. 주요 기능은 CPU 자원을 효율적으로 활용하는 것입니다.
비고:
쓰레드는 start() 메서드로 시작하지 않고, 사실상 내부의 native 메서드인 sta ...
6월 15일 02:46에 게시됨
Java 동시성 프로그래밍 실전: 스레드 풀 작업 큐의 5가지 구현 및 적용 상황 분석
1장: 스레드 풀 작업 큐의 핵심 역할과 설계 원리
동시성 프로그래밍의 핵심 구성 요소인 스레드 풀에서, 작업 큐의 설계는 시스템 처리량, 응답 시간 및 자원 활용도에 직접적인 영향을 미칩니다. 작업 큐는 생산자와 소비자 간의 버퍼 역할을 수행하여 비동기 작업을 수락하고 작업 스레드가 스케줄링 전략에 따라 꺼내 실행합니다. #### 작업 큐의 기본 책임
실행 대기 ...
6월 15일 01:48에 게시됨