我正在使用 APR 库在 C++ 中创建可移植的多线程程序。问题是我需要在不需要时休眠一个线程,但手册中没有提到这样做的功能。
你现在有一种方法可以让 APR 线程休眠而不需要使用本机系统函数吗?我想避免任何特定于操作系统的代码。谢谢你。
我正在使用 APR 库在 C++ 中创建可移植的多线程程序。问题是我需要在不需要时休眠一个线程,但手册中没有提到这样做的功能。
你现在有一种方法可以让 APR 线程休眠而不需要使用本机系统函数吗?我想避免任何特定于操作系统的代码。谢谢你。
如果您只是想将 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
);
参考这里。