조인하려는 목표 트레드를 바꿀 수 있기를 원합니다. t1이 t2를 기다리다고합니다. t2가 아직 종료되지 않았지만 이제 t1이 t3을 기다리는 것이 좋습니다. 그럴 수있는 방법이 있습니까? 감사.pthreads join - 다른 스레드에 대한 조인을 취소하는 방법
2
A
답변
0
t1을 t3이 실행되도록 유지할 수 없기 때문에 t3을 기다릴 수는 없지만 pthread_join을 실행 상태로 유지하는 동안 인터럽트 할 방법이 없으므로 pthread_cancel을 사용하여 t1을 취소 할 수 있습니다. 그러면 pthread_cancel이 종료되므로 더 이상 t2가 완료 될 때까지 기다리지 않고 얻을 수 있습니다. t3를 기다리는 다른 스레드.
0
나는 그것이 가능하지 않다고 믿습니다. 그러나 pthread_join()
설명에있는 조언을 따를 수 있습니다.
pthread_join을() 함수 멀티 스레드 애플리케이션에 유용 입증 한 편리하다. 프로그래머가 인수의 일부로 추가 상태를 전달하여 제공되지 않으면이 함수를 시뮬레이트 할 수있는 것은 입니다. start_routine()에 인수가 전달됩니다. 종료 스레드는 종료를 나타내는 플래그를 설정하고 해당 상태의 일부인 조건을 브로드 캐스트합니다. 연결 스레드가 해당 조건 변수를 기다립니다.
3
휴대용이 아닌 것 같습니다. pthread_timedjoin_np
.
0
나는 t1과 t2 사이의 조건 변수를 사용해야한다고 생각한다. 그러면 t3와 t1을 결합 할 수있다. 이식 pthread_timedjoin_np
을 모방하는
0
쉬운 방법 :
- 가
pthread_join
을 수행하기 위해 새로운 스레드를 생성하고 그것을 조건 변수 또는 세마포어를 전달합니다. - 조건 변수 또는 세마포어에서 시간 초과 대기를 수행하십시오.
- 새 스레드에서
pthread_cancel
으로 전화하십시오. - 새 스레드에서
pthread_join
으로 전화하십시오.
물론 세부 정보가 남아 있지만 기입하기가 쉽습니다.
관련 문제
- 1. pthreads 스레드에 대한 고유하고 지속적인 식별자?
- 2. pthreads 라이브러리를 사용하여 I/O를 요청하는 사용자 스레드에 관한 내용
- 3. DataGridView에 대한 조인을 사용하여 쿼리를 바인딩하는 방법?
- 4. pthreads 및 포인터에 대한 질문
- 5. 스레드에 대한 명명 규칙?
- 6. 구성 자동 재로드와 pthreads
- 7. posix pthreads in C
- 8. 다른 스레드에있는 xml의 구문 분석을 취소하는 방법
- 9. Django에서 요청을 취소하는 방법
- 10. 다른 스레드에 메시지 보내기
- 11. NHibernate에 대한 LINQ를 사용하여 조인을 수행하는 방법
- 12. 관리되는 모든 스레드에 대한 참조를 얻는 방법
- 13. 스레드에 대한 용어집
- 14. winforms에서 이벤트를 취소하는 방법?
- 15. uitouches를 취소하는 방법?
- 16. 조인을 시각화하는 방법
- 17. SQLite - 올바른 조인을 작성하는 방법?
- 18. UITableView 행을 선택 취소하는 방법?
- 19. FreeBSD의 pthreads
- 20. ASP.NET의 스레드에 대한 이상한 동작
- 21. (비 Windows) 플랫폼에서 pthreads 지원이 부족합니다.
- 22. 여러 테이블에서 복잡한 조인을 위해 SQL JOIN 키워드를 사용해야합니까?
- 23. Git 롤백을 취소하는 방법
- 24. 바인딩 ObjectDataSource를 취소하는 방법?
- 25. SQL에서 삭제를 취소하는 방법
- 26. UILocalNotification을 등록 취소하는 방법
- 27. 해당 기능을 취소하는 방법
- 28. HelpProvider에서 컨트롤을 등록 취소하는 방법?
- 29. 스레드에 따라 다른 파일에 기록하십시오.
- 30. 코드 섹션을 다른 스레드에 넣으시겠습니까?