동일한 작업을 수행하는 C++ 라이브러리에서 사용할 수있는 두 가지 버전의 함수가 있습니다. 하나는 동기 함수이고 다른 하나는 콜백 함수를 등록 할 수있는 비동기 유형입니다.비동기 메서드와 스레드 대기 사용
더 나은 메모리 및 성능 최적화를 위해 다음 전략 중 어느 것이 적합합니까?
- 전화 동기 작업자 스레드의 기능 및 사용 뮤텍스 동기화 내가
- 가 스레드를 만들지 마십시오 결과를 얻을 때까지 기다려야하지만, 비동기 버전을 호출하고 콜백 결과를 얻을 수
옵션 1의 작업자 스레드 생성으로 인한 오버 헤드가 증가한다는 사실을 알고 있습니다. 스레드 동기화 개체로 인해 발생하는 오버 헤드 관련 문제와 비동기 호출로 인해 발생하는 오버 헤드를 비교하는 방법에 대해 알고 싶습니다. 비동기 버전의 함수가 내부적으로 스레드를 회전시키고 동기화 객체를 사용합니까? 아니면 커널과 직접 통신하는 것과 같은 다른 기술을 사용합니까?
우리가 정보가없고 소스가 보이지 않는 라이브러리가 어떻게 구현되는지 추측해야합니까? 함수의 두 형식을 모두 사용하고 프로그램을 프로파일 링하십시오. – Mankarse
나는 전형적인 비동기 함수에 대한 일반적인 접근법을 찾고있다. – paseena