2015-02-07 3 views
1

나는 다음과 같은 코드가있는 경우 :실행은

for(int i = 0; i < 10; i++) 
{ 
    vertx.eventBus().send("some-address", some-handler); 
} 

이 루프에서 일부 핸들러에 대한 모든 호출은 병렬 또는 순차적으로 실행하고 있는가? 순차적 인 경우 병렬 실행을 위해 올바른 접근 방식은 무엇입니까?

안부

+0

send 메소드의 구문을 확인하십시오. 일부 데이터를 두 번째 매개 변수로 보내야합니다. 핸들러 (재생 처리기)는 세 번째 선택적 매개 변수입니다. 그리고 만약 당신이 줄 순차적으로 실행되지만 무작위 순서로 재생은 다른 처리기에서 첫 번째 매개 변수로주는 주소로 제공됩니다. – Thomas

답변

2

실행은 메시지를 수신하는 어드레스에 등록 된 하나의 "처리기"될 것이다 메시지를 전송 보낸 "순차"이다. 이론적으로 병렬 실행을 원하면 특정 "처리기"에 대해 등록 된 두 개 (또는 그 이상)의 verticle을 배포하고 게시 메시지를 게시해야합니다. Vert.x 이 단일 버티 클 (플랫폼의 주요 포인트 인 어쨌든)에 대해 동시성을 갖지 않는다는 점을 명심하십시오.

다음 번에 Vert.x Group에 동일한 질문을 보내면 매우 활기가 넘치므로 그곳에서 묻는 모든 내용이 즉시 답변 될 것입니다. 팀은 남자입니다.

또한 link을 살펴보십시오. 그것은 내가 지금까지 보아온 더 나은 설명이다. 병행 및 병렬 프로그래밍; 전문 용어가 이지만 언어가 달라질지라도 의 단서를 제공 할 것입니다. 전문 용어는입니다.