Вот ситуация, у меня есть поток, который частично контролируется кодом, который у меня нет. Я начал поток, поэтому у меня есть его идентификатор потока, но затем я передал его другому коде. Мне нужно узнать, не вызвал ли этот другой код поток, который блокируется из другого потока, которым я управляю. Есть ли способ сделать это в pthreads? Я думаю, что я ищу что-то, что эквивалентно методу getState() в классе Thread Java (http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html#getState()) ,Проверьте, заблокирована ли нить pthread
-------------- Edit -----------------
Это нормально, если решение зависит от платформы. Я уже нашел решение для linux с помощью файловой системы/proc.
Что вы на самом деле пытаетесь достичь? Могут быть другие/лучшие способы, чем пытаться имитировать java. – Duck
Это для рамки тестирования. Мы пытаемся контролировать расписание потоков, чтобы люди могли тестировать реентер-код в явно определенных графиках потоков. –