아이템 80. 스레드보다는 실행자, 테스크, 스트림을 애용하라.
이펙티브 자바 아이템 80. 스레드보다는 실행자, 테스크, 스트림을 애용하라. java.util.concurrent 패키지가 등장 했고 여기에 executor framework라는 것이 포함이 되어 있다. 실행자 서비스는 쓰레드 보다 고급 api면서 조금더 다루기 쉽다. 실행자 서비스의 주요기능 특정 테스크가 완료되기를
Writing
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
이펙티브 자바 아이템 80. 스레드보다는 실행자, 테스크, 스트림을 애용하라. java.util.concurrent 패키지가 등장 했고 여기에 executor framework라는 것이 포함이 되어 있다. 실행자 서비스는 쓰레드 보다 고급 api면서 조금더 다루기 쉽다. 실행자 서비스의 주요기능 특정 테스크가 완료되기를
이펙티브 자바 아이템 79. 과도한 동기하는 피하라. 이전 상황을 동기화를 하지 않았을때 문제가 생기는 상황을 다뤘고 이번에는 과도하게 동기화를 했을때 생기는 문제를 다룰것이다. 응답 불가와 안전 실패를 피하려면 동기화 메서드나 동기화 블록 안에서는 제어를 절대로 클라이언트에 양도하면 안된다. 실행결과 위에 코드는 정상적
이펙티브 자바 아이템 78. 공유중인 가변 데이터는 동기화 해서 사용하라. 동기화(synchronized)는 배타적 실행뿐 아니라 스레드 사이에 안정적인 통신에도 필요하다. 위에 동작은 1초내에 종료할것이라고 생각이 되는가? vm에서 hoisting이 일어나서 종료되지 않는다. 위에 코드가 아래 코드 처럼 최적화 되는것을
동시성(Concurrency) High Level Concurrency Objects 지금까지이 레슨은 처음부터 Java 플랫폼의 일부인 저수준 API에 중점을 두었습니다. 이러한 API는 매우 기본적인 작업에는 적합하지만보다 고급 작업에는 더 높은 수준의 구성 요소가 필요합니다. 특히 오늘날의 멀티 프로세서 및 멀티 코
동시성(Concurrency) Immutable Objects 오브젝트 는, 구축 후에 상태를 변경할 수없는 경우, 불변 이라고 보여집니다. 불변 객체에 대한 최대 의존도는 간단하고 안정적인 코드를 만들기위한 건전한 전략으로 널리 받아 들여지고 있습니다. 변경 불가능한 객체는 동시 응용 프로그램에서 특히 유용합니다. 상태
동시성(Concurrency) Guarded Blocks 스레드는 종종 자신의 행동을 조정해야합니다. 가장 일반적인 조정 관용구는 Guarded Blocks 입니다. 이러한 블록은 블록을 진행하기 전에 참이어야하는 조건을 폴링하여 시작합니다. 이 작업을 제대로 수행하려면 여러 단계를 수행해야합니다. 예를 들어 guarde
동시성(Concurrency) 생명(Liveness) 적시에 동시 응용 프로그램을 실행할 수있는 기능을 활성이라고 합니다. 이 섹션에서는 가장 일반적인 종류의 생명 문제, 교착 상태 에 대해 설명하고 다른 두 가지 생명 문제, 기아 및 라이브 록 을 간략하게 설명 합니다. 교착 상태(Deadlock) 교착 상태 는 두 개
동시성(Concurrency) 동기화(Synchronization) 쓰레드는 주로 필드에 대한 액세스를 공유함으로써 통신하며 객체 참조 필드는 참조합니다. 이러한 형태의 통신은 매우 효율적이지만 스레드 간섭 과 메모리 일관성 오류 의 두 가지 종류가 있습니다. 이러한 오류를 방지하는 데 필요한 도구는 동기화 입니다. 그러
동시성(Concurrency) Thread Objects 각 스레드는 Thread 클래스의 인스턴스와 연관됩니다. Thread 객체를 사용하여 동시 응용 프로그램을 만드는 두 가지 기본 전략이 있습니다 . 스레드 생성 및 관리를 직접 제어하려면 Thread 응용 프로그램이 비동기 작업을 시작해야 할 때마다 인스턴스를 작성
동시성(Concurrency) 컴퓨터 사용자는 시스템이 한 번에 두 가지 이상을 할 수 있다는 것을 당연시합니다. 다른 응용 프로그램이 파일을 다운로드하고 인쇄 대기열을 관리하며 오디오를 스트리밍하는 동안 계속해서 워드 프로세서에서 작업 할 수 있다고 가정합니다. 단일 응용 프로그램조차도 한 번에 두 가지 이상을 수행 할