5-sh

Java 스레드5 - CAS 동기화와 원자적 연산

강의 : 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 10. CAS - 동기화와 원자적 연산 원자적 연산은 연산이 CPU에서 더 이상 나눌 수 없는 단위로 수행되는 것을 의미한다. 따라서 멀티스레드 상황에서 다른 스레드의 간섭 없이 안전하게 처리될 수 있다. 1씩 값을 증가하는 연산을 멀티스레드 환경에서 실행하면 여러 스레드가 동시...

Java 스레드4 - 생산자 소비자 문제 2

강의 : 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 9. 생산자 소비자 문제 생산자가 생산자를 깨우고, 소비자가 소비자를 꺠우는 비효율 문제를 어떻게 해결할 수 있을까? 생산자 스레드는 데이터를 생성하고 스레드 대기 집합에서 대기 중인 소비자 스레드를 깨워야 한다. 반대로 소비자 스레드는 데이터를 소비하고 스레드 대기 집합에서 대...

Java 스레드1 - 생성, 생명주기, 제어, 메모리 가시성

강의 : 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 1. 스레드 생성 스레드는 Thread 클래스를 상속 받거나 Runnable 인터페이스를 구현해 만들 수 있다. 다른 클래스나 인터페이스를 상속 받을 수 있고 스레드와 실행할 작업을 분리하고 여러 스레드에서 Runnable 을 재사용하기 위해 보통 Runnable 인터페이스를 구현해...