두 함수는 호출 프로세스의 자식으로 새로운 gen_server
인스턴스를 시작,하지만 그들은에서 다릅니다 gen_server:start_link/3,4
이 원자 적으로 시작하는 gen_server
아동과 그 부모를 링크 그것은 과정. 연결한다는 것은 아이가 죽으면 부모가 기본적으로 죽을 것임을 의미합니다. Supervisors은 자식 프로세스가 비정상적으로 종료 할 때 링크를 사용하여 특정 작업을 수행하는 부모 프로세스로, 일반적으로 다시 시작합니다.
케이스에 포함 된 링크 외에도 이러한 호출과 관련된 다중 프로세스 측면은 없습니다. gen_server:start
또는 gen_server:start_link
을 사용하여 새 gen_server
을 시작하든 관계없이 새 프로세스에는 단일 메시지 큐가 있으며 한 번에 하나씩 메시지를 수신하여 처리합니다. 새 gen_server
프로세스가 gen_server:start
으로 시작하는 경우와 다르게 동작하거나 수행하게하는 원인은 gen_server:start_link
에 관한 것입니다.
스티브 편집을 참조하십시오. –
귀하의 편집 내용에 이미 답변했습니다. 여러 프로세스가'gen_server'를 동시에 호출하면, 그들의 메시지는'gen_server' 메시지 대기열에 대기하고'gen_server'는 한 번에 하나씩 그 메시지를 처리합니다. –