NSThreadで起動したスレッドの内部で、オブジェクトのbool型変数がFALSEに
なるまでwhile()ループする処理を入れています。
で、ループの直前でNSTimerでタイマを仕掛け、タイマ発火時にFALSEにする
ようにしましたが、ループが回っている間はタイマが発火しなく、無限ルー
プなってします。

ループの最後に[[NSRunLoop currentRunLoop] run];でメッセージを処理さ
せるようにすると指定時間でタイマが発火するのですが、runから処理が戻る
まで3秒以上かかってしまっていて、使えません。

Windowsですと、スレッド内でSetTimer()すると無限ループ中でもタイマ
イベントが発火するのですが、Macではどのようにしたらいいのでしょうか?