2016-06-28 2 views
1

얼랭 (Erlang)은 gen_server을 실행할 때 여러 코어를 활용합니까? gen_server에 다른 handle_cast이 두 개 있고 자주 호출되는 경우 병렬로 실행할 수 있습니까? 나는 하나의 handle_cast이 큐에 데이터를 입력하고 다른 큐는 동일한 큐에서 데이터를 제거하고 처리하는 디자인을 가지고 있기 때문에 물어 본다. 대기열은 gen_server 상태로 유지됩니다. 문제는 내가보기에 상태를 반환 할 때 새 항목을 추가하거나 검색된 항목을 제거한 상태로 새 큐를 반환해야한다는 것입니다. 이들이 병렬로 실행중인 경우 경쟁 조건 또는 불일치가 대기열에서 발생할 수 있습니다. 이 경우인가요?handle_cast, 다중 코어 및 대기열

답변

4

귀하의 질문에 대한 답변은 '아니오'입니다. gen_server은 단일 Erlang 프로세스에서 실행됩니다. 단일 프로세스를 동시에 실행할 수있는 여러 활동으로 나눌 수 없습니다.