Page History
...
패킷의 의미에 따라 Race Condion(경쟁조건)이 발생할수가 있습니다.
Info |
---|
이러한 문제는 여러가지 액터가 메시지를 동시에 보내고 어떠한 한가지 액터가 그 메시지를 받아서 처리할때 메시지 순서에대한 보증을 어떠한 근거로 할것인가? 의 고민에 빠지게됩니다. 메시지 전달 보증(Message Delivery Reliability)에 추가적으로 언급하겠습니다. 특정 액터 상호간에 보내는 메시지에대해 Akka가 제공하는 유일한 보증은 해당 메시지의 순서가 항상 유지된다는 것입니다. Akka의 Message Delivery Reliability를 참고하십시오 |
Non-blocking Guarantees (Progress Conditions)
...
낙관성 동시성 제어(OCC-Optimistic concurrency control)는 이러한 충돌을 인지하거나 모를수 있으며,는
발생가능성이 거의없을것으로 거의 없을것으로 예상하고(충돌로 인한 인해 문제 발생시 일정 조정을통해 Fix,스케쥴을 조정해버려서 해결)
일정에따라 다시 시도하여 작업 성공으로 간주합니다.
빠른성능을 위해 이러한 문제를 인지하고 작동되는 케이스보다,
멀티스레드 프로그래밍시 유의할점에대해 인식없이 작동 시키고
문제 해결을 위해 무분별한 Lock / 전역 예외등 주로 개발코드의 품질이 나빠지는 케이스로 연결됩니다.