나는 strand :: :: wrap과 strand :: post를 사용하여 게시하는 것을 구분하지 않는다. 두 가지 모두 직렬화를 보장하지만 아직 랩으로 직렬화하고 일관된 순서를 얻을 수없는 것처럼 보입니다. 둘 다 똑같은 일을해야 할 것처럼 보입니다. 언제 다른 것을 사용합니까?ASIO strand :: wrap은 순서대로 직렬화 할 필요가 없습니까?
이mystrand(ioservice);
mystrand.post(myhandler1);
mystrand.post(myhandler2);
이 내 두 핸들러 직렬화 심지어 스레드 풀에서 순서대로 실행됩니다 보장 : 여기
좀 더 상세 의사 코드입니다.이제 아래의 내용과 어떻게 다른가요?
ioservice->post(mystrand.wrap(myhandler1));
ioservice->post(mystrand.wrap(myhandler2));
그들은 똑같은 것처럼 보입니까? 왜 다른 것을 사용하나요? 나는 둘 다 사용하고 언제 사람이 다른 사람보다는 더 이해되는 때 알아내는 것을 시도하고 있다는 것을 본다.
미안하지만 내 질문에 너무 짧습니다. 의 차이는 무엇 : ioservice-> 포스트 (strand.wrap (myhandler1)) ioservice-> 포스트 (strand.wrap (myhandler2)) 및 strand.post이 (myhandler1 내가 의미하는 것은 이것이다) strand.post (myhandler2) 스트랜드는 ioservice로 생성되었습니다. 둘 다 사용되었으며 동일한 작업을 수행 할 것입니다. 즉, myhandler1과 myhandler2를 순서대로 직렬화할까요? –