Я использую функцию nanosleep в многопоточной программе. Я использую Nanosleep в качестве таймера, который может быть прерван другим потоком, если выполнено определенное условие. Я нашел на веб-сайте кого-то, кто задавал подобный вопрос, и они сказали, что вы не можете проснуться ото сна: http://www.codeguru.com/forum/archive/index.php/t-431651.html
Это правда, или это только с WinAPI (я программирую в среде UNIX)?
Если вы хотите сделать это, почему бы просто не использовать таймерное ожидание на condvar?