게시 : 객체는 현재 범위를 벗어난 코드로 참조 할 수 있도록하는 것입니다.
공통 형식 : 공개 정적 도메인에 객체에 대한 참조 저장; 비 개인적인 방법으로 참조를 반환합니다. 참조를 포함한 내부 클래스 인스턴스 게시.
탈출 : 객체가 준비되지 않았을 때 객체를 게시하십시오.
이 참조가 생성자로부터 탈출하지 않도록하십시오. 예를 들어, 생성자에서 스레드를 시작하면 스레드에는 객체에 대한 참조가 포함됩니다.
동기화 된 컨테이너 : 컨테이너, 벡터, Hashtable, Cllections.synchronizedmap | list의 모든 상태에 대한 이동 액세스 수행
동시 컨테이너 : ConcurrenthashMap, CopyonWriteArraylist, ConcurrentLinkedqueue, Blockingqueue
랜덤 액세스 기능의 장점을 나열하십시오.
차단은 차단 가능한 GET 세트 작업을 추가합니다
ConsurenthashMap : 별도의 잠금 장치로 동시 액세스를위한 높은 처리량을 가져 오는 동시에 단일 스레드의 액세스 성능을 거의 잃지 않습니다. 약하게 일관된 반복기를 반환합니다.
반복자의 일관성이 약해지면 반복자가 생성 된 후 컨테이너의 변화를 감지합니다.
동시 컨테이너 크기 (), isempty ()가 약화되어 대략적인 결과를 반환합니다.
COPYONWRITEARRAYLIST : 컨테이너가 수정 될 때마다 복사하고 반복 요구 사항은 수정 요구 사항보다 큽니다.
제작자와 소비자 코드를 분리하기 위해 제한된 차단 큐를 사용하는 생산자 소비자 모델.
집행자 작업 실행 프레임 워크는 생산자 및 소비자 모델을 구현합니다.
Synchronousqueue : 소비자를 사용할 수있을 때까지 기다리십시오. 소비자가 충분한 시나리오에 적합한 생산자를 기다릴 수 있습니다.
이중 끝 큐는 작업 도둑질 모드와 관련이 있습니다. 모든 소비자가 생산자 소비자 모드에서 작업 대기열을 공유한다는 사실과 다릅니다. 작업 도둑질 모드의 각 소비자는 자신의 이중 엔드 큐가 있습니다. 소비자가 모든 작업을 완료하면 다른 소비자 대기열이 끝날 때 과제를 훔칠 수 있습니다.
작업 도둑질 모드는 작업 단위로 실행할 때 파일을 가로 지르는 것과 같은 더 많은 작업을 식별 할 수 있습니다.
메소드가 InterruptedException을 던질 수있는 경우 차단 가능한 방법임을 의미합니다. 방해성을 던지거나 잡으십시오.
Synchronizer : Synchronizer --- Semaphore, Barrier, Latch, 상태를 캡슐화하고,이 상태의 스레드의 동작을 결정하고 (통과 또는 블록) 상태를 조작하는 방법을 제공하며 동기화기가 원하는 상태에 들어가기를 효율적으로 기다립니다.
래치 잠금 : 스레드가 일회성 스위치와 같이 최종 상태에 도달 할 때까지 스레드 진행을 지연시킵니다. 다른 활동이 완료 될 때까지 특정 활동이 발생하지 않도록하는 데 사용할 수 있습니다.
예를 들어:
FutureTask는 잠금, 추상 휴대용 결과 계산으로 사용될 수 있으며 Callable을 통해 구현됩니다. Future.get은 작업의 실행 상태에 따라 다릅니다. 작업이 완료되면 결과가 반환됩니다. 그렇지 않으면 기다릴 것입니다.
Executor Framework는 FutureTask를 사용하여 비동기 작업을 완료합니다.
Semapher Semapher : 특정 리소스에 동시에 액세스하거나 동시에 주어진 작업을 수행 할 수있는 활동의 수를 제어하는 데 사용됩니다. 자원 풀, 컨테이너 경계.
배리어 레벨 : 잠금과 유사하게 모든 스레드는 처리를 계속하기 전에 동시에 레벨에 도달해야합니다. 잠금은 시간이 기다리고 레벨은 다른 스레드를 기다리며 재사용됩니다. 레벨을 통해 Await은 각 스레드의 고유 한 도착 색인 번호를 반환하며, 이는 리더를 선출하고 다음 반복에서 특별한 작업을 수행하는 데 사용할 수 있습니다.
교환기는 A 레벨의 한 형태입니다.
위는이 기사의 모든 내용입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 또한 wulin.com을 더 지원하기를 바랍니다!