Page History
...
패킷의 의미에 따라 Race Condion(경쟁조건)이 발생할수가 있습니다.
Info |
---|
특정 액터 상호간에 보내는 메시지에대해 Akka가 제공하는 유일한 보증은 해당 메시지의 순서가 항상 유지된다는 것입니다. Akka의 Message Delivery Reliability를 참고하십시오 |
Non-blocking Guarantees (Progress Conditions)
...
이전 섹션에서 설명된것처럼 블로킹은 여러가지 이유로 바람직하지 않습니다.
이것은 교착상태의 위험과 시스템 처리량 감소를 야기 시킬수 있습니다.
다음은 다양한 강도를 지닌 차단 특성에대해 논의를 합니다.
Wait-freedom -기다림이 없음
...
모든 호출이 한정된 수의 단계로 끝나도록 보장되는 경우 메소드는 대기하지 않아도됩니다.
wait-free 메소드는 결코 블로킹되지 않으며 교착상태가 발생하지 않으며
참여자는 제한된 수의 호출후에 진행할수 있으므로 궁핍(기아)현상이 발생하지 않습니다.
Lock-freedom -Lock이 없음
...
Lock이 없기때문에 교착상태가 발생하지 않지만
호출이 결국 완료되는것을 보장하지 않기때문에 궁핍(기아)현상을 보장하기에는 충분하지 않습니다.
Obstruction-freedom -기다림/Lock등 방해요소가없음
...
메소드가 격리되어 작동하다가, 특정 시점 (Write중)
obstacle-free(방해가 없는상태)라고 하며 ,다른 스레드가 접근시
아무런 조취를 하지 않기때문에 진행작업이 중단될수가 있습니다. ( access violation at address )
낙관성 동시성 제어(OCC-Optimistic concurrency control)는 이러한 충돌을 인지하고 일정에따라 다시 시도하여
작업 성공으로 간주합니다.