여기 상황이 있습니다. 스레드가 실행 중이며 소유하지 않은 코드로 부분적으로 제어됩니다. 내가 스레드 ID를 가지고 있도록 스레드를 시작했지만 다른 코드로 전달했습니다. 나는 다른 코드가 현재 내가 제어 할 수있는 다른 스레드에서 스레드를 차단하도록했는지 알 수 있어야합니다. pthreads에서이 작업을 수행 할 수있는 방법이 있습니까? Java의 Thread 클래스 (http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html#getState())의 getState() 메소드와 동일한 것을 찾고 있다고 생각합니다. .pthread 스레드가 블로킹되어 있는지 확인하십시오.
-------------- 편집 -----------------
솔루션은 플랫폼에 의존하는 경우가 괜찮습니다. 나는 이미/proc 파일 시스템을 사용하여 리눅스 용 솔루션을 발견했다.
실제로 달성하려는 것은 무엇입니까? 자바를 모방하려는 것보다 다른/더 좋은 방법이있을 수 있습니다. – Duck
이것은 테스트 프레임 워크 용입니다. 우리는 사람들이 명시 적으로 정의 된 스레드 스케줄 하에서 재진입 코드를 테스트 할 수 있도록 쓰레드 스케줄을 제어하려고합니다. –