如何睡个好觉? 我用APR库在C++中创建可移植的多线程程序。问题是,我需要在不需要线程的情况下休眠线程,但在本文中并没有提到可以这样做的函数
您现在知道如何在不使用本机系统函数的情况下休眠APR线程了吗?我希望避免使用任何特定于操作系统的代码。如何睡个好觉? 我用APR库在C++中创建可移植的多线程程序。问题是,我需要在不需要线程的情况下休眠线程,但在本文中并没有提到可以这样做的函数,c++,c,multithreading,apr,thread-sleep,C++,C,Multithreading,Apr,Thread Sleep,您现在知道如何在不使用本机系统函数的情况下休眠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_ti
谢谢。如果您只是想将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
);
否则,您可以使用:
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\u time.h”中的APR中也有睡眠功能:
链接:POSIX几乎不是“特定于操作系统的”。我会非常小心使用任何名称中带有“portable runtime”的库。通常情况下,它们不可移植(开发者测试的每个操作系统都有讨厌的不可移植的操作系统特有的黑客攻击),而且非常臃肿。APR线程在我尝试过的win32、win64和Linux下都可以正常工作。