7.Boost之thread

简介: #include <iostream> #include <vector> #include<algorithm> #include<boost/thread.hpp> #include <windows.h>   using namespace std; using na

#include <iostream>

#include <vector>

#include<algorithm>

#include<boost/thread.hpp>

#include <windows.h>

 

using namespace std;

using namespace boost;

 

void wait(int sec)

{

    boost::this_thread::sleep(boost::posix_time::seconds(sec));

}

 

void threadA()

{

    for (int i = 0; i < 10; i++)

    {

        wait(1);

        std::cout << i << endl;

    }

}

 

void threadB()

{

    try

    {

        for (int i = 0; i < 10; i++)

        {

            wait(1);

            std::cout << i << endl;

        }

    }

    catch (boost::thread_interrupted &)

    {}

}

 

void mainO()

{

    boost::thread t(threadA);

    wait(3);

    //t.interrupt();

    t.join();

 

    cin.get();

}

 

 

 

 

 

 

 

 

 

 

 

 

 

目录
相关文章
|
4月前
|
存储 前端开发 算法
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析(一)
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析
165 0
|
4月前
|
存储 并行计算 Java
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析(二)
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析
173 0
std::jthread与std::thread区别
std::jthread是C++20新引入的线程类,与 std::thread 类似,或者说,jthread是对thread进一步的封装,功能更强大。
127 0
|
C++
boost之signal的使用
boost是C++的一个扩展库,被称为C++准标准库,里面的组件很丰富,并且引用方便,85%的组件只需要引用头文件即可使用。在嵌入式系统也可以很方便的使用,这里介绍一下signal的使用,有点类似Qt里的信号槽。 可以接收静态函数、类成员函数、labmda表达式。 下面这个是使用signal封装的一个事件注册处理模板,使用起来还是很方便的。
118 0
|
安全 算法 前端开发
【Example】C++ 标准库 std::thread 与 std::mutex
与 Unix 下的 thread 不同的是,C++ 标准库当中的 std::thread 功能更加简单,可以支持跨平台特性。 因此在应用需要跨平台的情况下,应优先考虑使用 std::thread。 同时为了使多线程操作更加安全,std::thread 经常与标准库互斥量 std::mutex 相配合使用。
360 0
std::thread 不 join
std::thread 构造之后 使用 detach。就可以了
1346 0
|
调度 .NET 开发框架
Boost-ioservices介绍
IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象)。     asio::io_service io_service;    asio::ip::tcp::socket socket(i...
1120 0