2

我正在使用 APR 库在 C++ 中创建可移植的多线程程序。问题是我需要在不需要时休眠一个线程,但手册中没有提到这样做的功能。

你现在有一种方法可以让 APR 线程休眠而不需要使用本机系统函数吗?我想避免任何特定于操作系统的代码。谢谢你。

4

2 回答 2

4

如果您只是想将 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
    );

参考这里

于 2011-05-02T08:29:39.123 回答
2

...并且 APR 中也有一个睡眠功能,在“apr_time.h”中:

void apr_sleep (apr_interval_time_t t)

链接:睡觉

于 2013-02-12T14:05:24.847 回答