Если вам не нужно писать переносимое приложение и вы можете использовать расширения GNU, вы можете использовать pthread_tryjoin_np
. Я считаю, что нет другого способа сделать это, кроме как установить связь между двумя потоками (например, использовать глобальный мьютекс, который удерживается потоком, пока он жив).