Ваш вопрос основан на ложном различении. Если поток выполняет синхронный ввод-вывод, то он продвигается в своей работе. Если предположить, что в нем нет какой-либо ошибки, поток будет блокировать синхронный ввод-вывод только в том случае, если этот поток сможет продвинуться в выполняемой работе. Так что, независимо от того, заблокирован поток или нет, он продвигается в работе, которую делает. (И если поток глючит, он может не прогрессировать в выполняемой работе независимо от того, заблокирован он или нет.)
Вы не объясняете свою внешнюю проблему - почему вы думаете, что вам нужна эта информация и что вы планируете с ней делать. Но, скорее всего, есть решение любой вашей реальной проблемы, и оно, скорее всего, не имеет отношения к опросу статуса другого потока.
В принципе, ни один поток не должен заботиться о том, что делает другой поток, потому что это было бы нарушением наслоения. С точки зрения конкретного потока, все, что не сделано этим потоком, выполняется процессом, и нет никакой причины, по которой один поток должен заботиться о том, как процесс решит выполнить какую-то другую работу, будь то какой-то другой другой поток, группа потоков, другой процесс или что-то еще. Потоки должны заботиться о работе, которую они выполняют, и о работе, выполняемой другими вещами, но не о деталях того, как другие вещи выполняют другую работу.