안녕하십니까, C++ 11에서 멀티 스레딩을 사용하고 있습니다. 모든 실행중인 스레드와 종료 된 스레드를 추적하는 메커니즘을 만들고 싶습니다. 스레드가 종료되면 자동으로 종료 된 스레드가 생성됩니다. 누구든지 C++ 11에서 이것을 구현하는 방법에 관한 아이디어가 있습니까? 대단히 감사드립니다.C++에서 스레드 종료를 추적하는 방법 11
0
A
답변
0
일반적인 패턴은 다음과 같이 루프에서 포장 블록을 시도하는 것입니다 예외를 살아 코드를 작성하기 :
for(;;) {
try {
// Your code here
} catch (const std::exception& e) {
// Log exception
} catch (...) {
// Log unknown exception
}
}
서버에 일반적입니다 : 사용자 요청을 서비스하는 것은 실패 할 경우, 다음 로그 현재 연결을 끊고 다음 연결을 시도하십시오. 물론 어떤 일이 실제로 일어 났고 모든 재 시도가 실패 할 가능성이 있습니다. 따라서 반복해서 시도하는 무한 루프로 PC에 과부하가 걸리지 않도록주의해야합니다.
스레드 내부에이 루프를 넣을 수 있으므로 문제가 발생해도 충돌이 발생하지 않으며 스레드를 직접 사용하는 대신 std::future
을 사용하고 future.get() 코드를이 루프 내에 넣을 수 있습니다.
관련 문제
- 1. 스레드 종료를 기다리지 않음
- 2. C에서 함수 호출을 추적하는 방법?
- 3. C에서 DLL에서 프로세스 종료를 감지하는 방법
- 4. Firefox 11 보안 오류? 추적하는 방법
- 5. WINAPI를 사용하여 시스템 종료를 추적하는 방법은 무엇입니까?
- 6. PC 시작, 종료 및 치명적인 종료를 추적하는 방법
- 7. C에서 malloc의 메모리 할당 오류를 추적하는 방법
- 8. Obj-C에서 버그를 추적하는 영리한 방법
- 9. ... C++ 11 표준 : 스레드
- 10. C++ 11 스레드 대기
- 11. Visual Studio 2005 C++ 다중 스레드 프로그램에서 함수의 진입 및 종료를 신속하게 추적하는 방법은 무엇입니까?
- 12. 자바는 자식 스레드 종료를 위해 finalize를 사용합니까?
- 13. C++ 11 스레드 오류 런타임
- 14. 부스트와 C++ 11 스레드 호환성
- 15. C++ 11 스레드, 유효한 코드입니까?
- 16. C++의 분리 스레드 11
- 17. 존재하는 클래스의 C++ 11 스레드
- 18. C++ 11 스레드 : 예외 람다
- 19. 스레드 안전 싱글은 C++ 11
- 20. C++ 11 시그널링 부모 스레드
- 21. SDL 및 C++ 11 스레드
- 22. C에서 병렬로 스레드 만들기 #
- 23. C에서 ArrayList가있는 스레드
- 24. C에서 스레드 동기화
- 25. C에서 다중 스레드 다운로더
- 26. C에서 스레드 동기화
- 27. C에서 다중 스레드 구조 값을 증가시키는 방법
- 28. C에서 시작한 실행중인 스레드 수를 표시하는 방법 #
- 29. C에서 대기중인 스레드 검색 Pthread
- 30. Java의 스레드 풀에서 Runnables를 추적하는 방법은 무엇입니까?
나는 종료 된 스레드에 * 참여할 것이라고 가정합니다. 간단한 해결책은 스레드가 종료하기 전에 마지막으로 설정 한 원자 부울 플래그입니다. 주 스레드는이 플래그를 폴링하고 설정된 경우 스레드에 가입합니다. –
@Someprogrammerdude 주석에 추가하려면 일부 * 스레드 라이브러리 * (예 : * pthreads *)가 * join *하기 전에 * 폴링 * 스레드 상태 * 문제를 제거하는 * 비 차단 join *을 제공합니다. 효율성은 떨어지지 만 더 깨끗한 디자인이되어야합니다. –
@Someprogrammerdude를 재생 해 주셔서 감사합니다. 나는 전에 원자 기기를 사용한 적이 없다. 내 프로그램에서이 부울 플래그를 어디에 추가해야합니까? –