C++ boost库零基础教程(十四):boost多线程

      关于多线程,各个系统,框架都有自己的实现,例如

            windows:  CreateThread

            MFC: AfxBeginThread

            Qt : QThread

       boost库是跨平台的,如果使用boost的多线程,在不同平台之间就无需修改代码,这一点还是看各人的喜好,有些人不一定喜欢用boost的多线程,C++11的多线程实现也很好。

        使用boost的多线程,需要包含如下头文件

                             #include<boost/thread.hpp>

         包含lib库目录

                              boost_1_70_0\stage\lib

         同时在使用时,最好加上boost名字空间,防止和其它库的thread混淆。

        boost的thread主要有如下方法:

(1)join()  一直等待,知道当前线程结束

(2)time_join() 最多等待多长时间,线程就返回

(3)yeild()  放弃剩余的时间片

(4)sleep(chrono::seconds(1))  让线程睡眠

        测试代码如下:

#include<boost/thread.hpp>
using  namespace  boost; //名字空间

#include<iostream>
using namespace std;
 
//要想运行,需要libboost_thread-vc141-mt-gd-x32-1_67.lib,附加库目录

void  ThreadFun(string  & threadName)
{
	for (size_t i = 0

猜你喜欢

转载自blog.csdn.net/yao_hou/article/details/103883470