2011-03-11 4 views
0

C++에서 요청한 정보를 검색하는 동안 사용자 입력을받는 응용 프로그램을 만들고 있습니다. Windows 탐색기에서 두 개의 다른 응용 프로그램을 실행하는 것이 더 좋을까요? 더 빠를까요?C++과 두 개의 별도 프로그램에서 스레드 만들기

+0

검색 무엇? 무엇보다 빨리? 당신이하려는 일에 대해 훨씬 더 자세하게 설명해야합니다. 지금과 마찬가지로 "내 차가 네 차보다 빠릅니까?" 그것은 당신이 운전하는 차량의 종류, 내가 운전하는 차량의 종류, 각 차량의 상태, 타이어의 종류, 기상 조건, 도로 상태 및 더 많은 정보가 답변을 제공 할 수 있는지에 따라 다릅니다. –

답변

2

이 답변은이 프로세스에 소요되는 시간과 두 프로세스가 공유해야하는 정보의 양과 같은 여러 요소에 따라 달라집니다.

몇 초 만에 응용 프로그램의 두 부분간에 데이터 구조가 공유되는 경우 별개의 프로세스로 분리 할 필요가 없습니다. 스레드간에 메모리를 공유하는 것이 훨씬 쉽습니다 (스레드 안전 데이터 구조를 사용하는 것을 잊지 마세요).

3

설명하는 내용은 멀티 스레드 프로그래밍의 일반적인 사용 사례와 비슷합니다. 사용자 입력을 기다리는 메인 스레드를 가지고 검색과 같은 다른 일을하기 위해 추가 스레드를 시작할 수 있습니다.

서로 통신하고 조정해야하는 두 개의 개별 프로세스를 설계하는 다른 접근법은 약간의 추가 오버 헤드를 추가합니다. 따라서 속도가 현명하면 약간의 전후 통신이 필요한 경우에만 이점을 얻을 수 있습니다.

관련 문제