• boost 线程(转)boost库timed_wait、notify_one配合使用


    #include "stdafx.h"
    #include <boost/thread/thread.hpp>
    #include <boost/thread/mutex.hpp>
    #include <boost/thread/condition.hpp>
    #include <boost/date_time/posix_time/posix_time.hpp>
    #include <iostream>
    #include<windows.h>
    using namespace std;
    using namespace boost;
    boost::mutex io_mutex;
    boost::condition_variable_any test_condition;

    void test(int num)
    {
    for (;;)
    {
    boost::mutex::scoped_lock lock(io_mutex);
    cout << "等待者" << num << endl;
    //阻塞等待30s,阻塞时自动解锁
    if ( test_condition.timed_wait(lock, get_system_time() + posix_time::seconds(30) ) )
    {
    cout << num << "成功接收到通知" << endl;
    } else
    {
    cout << num << "没有等待到通知" << endl;
    }
    }
    }
    void notify()
    {
    while(1)
    {
    cout << "发送通知"<<endl;
    system("pause");
    //test_condition.notify_all();
    test_condition.notify_one();
    }
    }

    int main(int argc, char* argv[])
    {
    boost::thread thrd11(bind(test, 1));
    boost::thread thrd12(bind(test, 2));
    boost::thread thrd13(notify);
    thrd11.join();
    thrd12.join();
    thrd13.join();

    system("pause");
    return 0;
    }

    原文地址:https://blog.csdn.net/leeboy_wang/article/details/44172193/

    不为其他,只为快乐!
  • 相关阅读:
    Linux磁盘、目录、文件操作命令
    VMware虚拟机网络环境类型
    ASCII
    关于String StringBuffer StringBuilder
    多线程并发编程
    TCP面向连接网络编程
    记一次渗透某XX站
    记一次对微信引流网站的简单渗透测试
    幕布V1.1.9最新版漏洞集合
    java代码审计文章集合
  • 原文地址:https://www.cnblogs.com/1521299249study/p/14441384.html
Copyright © 2020-2023  润新知