답변

3

클래스 위임과 관련하여 "위임"이란 클래스가 스레드 안전성 작업을 오프로드하는 다른 클래스 개체의 참조를 클래스에 포함한다는 의미입니다. 여기에 Delegator 클래스가 구성 요소 counter에 스레드 안전을 위임

class Delegator { 
    private final AtomicInteger counter = new AtomicInteger(0); 


    public int getNextCounter(){ 
     return counter.incrementAndGet(); 
    } 
} 

, 고려하십시오. 분명히 클래스는 counter 작업 자체의 고통을 감수 할 수 있었지만 휠을 재발 명하게되었습니다.

위임을 신중하게 사용해야합니다. 여러 변수를 포함하는 상태 연산이있는 경우 이러한 각 변수 연산이 개별적으로 스레드 안전성이면 충분하지 않지만 함께 상태 전이도 스레드 안전성이어야합니다.

관련 문제