APR ライブラリを使用して、C++ で移植可能なマルチスレッド プログラムを作成しています。問題は、スレッドが必要ないときにスレッドをスリープ状態にする必要があることですが、そのための機能がマニュアルに記載されていません。
ネイティブ システム関数を使用せずに APR スレッドをスリープさせる方法はありますか? OS固有のコードは避けたいと思います。ありがとうございました。
APR ライブラリを使用して、C++ で移植可能なマルチスレッド プログラムを作成しています。問題は、スレッドが必要ないときにスレッドをスリープ状態にする必要があることですが、そのための機能がマニュアルに記載されていません。
ネイティブ システム関数を使用せずに APR スレッドをスリープさせる方法はありますか? OS固有のコードは避けたいと思います。ありがとうございました。
単に CPU を他のスレッドに渡したい場合は、次を使用できます。
void apr_thread_yield(void);
それ以外の場合は、次を使用できます。
apr_status_t apr_thread_cond_timedwait(
apr_thread_cond_t * cond,
apr_thread_mutex_t * mutex,
apr_interval_time_t timeout
);
また
apr_status_t apr_thread_cond_wait(
apr_thread_cond_t * cond,
apr_thread_mutex_t * mutex
);
こちらを参照してください。