나는 멀티 스레딩에 약간 익숙하므로 이러한 질문이 너무 사소한 경우 용서해주십시오.C++ 주 스레드에서 여러 스레드 처리
내 응용 프로그램은 스레드에 여러 스레드를 만들고 각 스레드에서 작업을 수행해야합니다.
예를 들어, 50 세트의 파일을 읽고, CreateThread() 함수를 사용하여이 파일을 읽는 스레드를 만듭니다.
이제이 주 스레드는 파일에 액세스하기 위해 4 개의 스레드를 생성합니다. 첫 번째 스레드는 파일 1, 두 번째 파일 2 등이 지정됩니다.
첫 번째 스레드가 파일 읽기 1을 완료하고 주 스레드에게 필요한 데이터를 제공 한 후 주 스레드는 파일 5를 사용하여이를 호출하고 데이터를 가져와야합니다. 모든 50 개의 파일을 읽을 때까지 다른 모든 스레드에 대해서도 마찬가지입니다.
그 후, 각 스레드가 파괴되고 마지막으로 내 스레드가 파괴됩니다.
내가 직면하고 문제는 다음과 같습니다
1) 어떻게 파일 읽기 후 종료 스레드를 중지?
2) 다른 파일 이름으로 스레드를 다시 호출하는 방법은 무엇입니까?
3) 내 하위 스레드는 메인 스레드에 정보를 어떻게 제공합니까?
4) 스레드가 파일 읽기를 완료하고 주 스레드에게 데이터를 반환하면 주 스레드가 어떤 스레드가 데이터를 제공했는지 어떻게 알 수 있습니까?
감사합니다.
은'queue'''std :: queue'입니까? 그렇다면 뮤텍스 또는 다른 잠금 메커니즘이 누락되었습니다. – Philipp
그 이유는 'threadsafety에 대한 잠금'을 생략했습니다 :] – stijn
죄송합니다, 죄송합니다 :-) – Philipp