c++ - Win32 替代 pthread

标签 c++ winapi pthreads win32-process

是否可以使用标准的 win32 CreateMutex 样式代码编写此代码。我只是想知道我是否想在我们的应用程序中引入一个新的库,或者我是否可以自己找到一种方法来编写它。我只是不知道如何在 CriticalSection 中等待。这是我当前使用 pthread 库的工作代码。

T remove() {
    pthread_mutex_lock(&m_mutex);
    while (m_queue.size() == 0) {
        pthread_cond_wait(&m_condv, &m_mutex);
    }
    T item = m_queue.front();
    m_queue.pop_front();
    pthread_mutex_unlock(&m_mutex);
    return item;
}

最佳答案

对于 VC-2012 之前的支持,最好的选择是 Boost.Thread支持条件变量。

关于c++ - Win32 替代 pthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21251092/

相关文章:

c# - 如何使用 Win32 API 在与 LocalSystem 帐户不同的帐户下安装服务?

winapi - 如果接收线程开始泵送消息,SendMessage 可以提前返回吗?

linux - 在 Linux 中创建远程线程

c++ - 这是否被认为是内存泄漏?

C++琐碎的try-catch导致中止

c++ - 声明 SID Windows c++

c - 我如何用C中的线程对数组元素求和?

c++ - 使用 atof 将字符串转换为 float 在末尾产生非常小的十进制数

php - 具有 php 支持的简单 C++ Web 服务器

c - pthread mutex 的必要性