千家信息网

Boost线程中类内线程函数的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关Boost线程中类内线程函数的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。代码#include #i
千家信息网最后更新 2026年11月03日Boost线程中类内线程函数的示例分析

本篇文章给大家分享的是有关Boost线程中类内线程函数的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

代码

#include

#include

#include

#include

class CThreadClass

{

public:

CThreadClass()

{

m_stop = true;

}

void StartThread()

{

boost::function0 f = boost::bind(&CThreadClass::ThreadFunc, this);

boost::thread thrd(f);

}

void ThreadFunc()

{

std::cout << m_stop << std::endl;

}

private:

bool m_stop;

};

void ThreadTest()

{

CThreadClass helper;

helper.StartThread();

}

int main()

{

ThreadTest();

::Sleep(1000);

return 0;

}

在上面的例子中,在类的构造函数中,初始化m_stop为true,但是在线程函数中访问的时候,m_stop却是为false,并且根据引用,

只有构造函数对m_stop进行了初始化操作

原因

ThreadTest函数实例化CThreadClass,创建线程,当ThreadTest调用结束的时候,helper实例就会由于生命周期结束,

而在栈中被销毁,这个时候,m_stop的值就是未知的,有的时候如果寄存器中的值没有被清空,或者置位,程序正常运行

上述代码来自于项目中的不成熟的使用方案,通过该方法来创建一个监听服务,切记!!

优雅

#include

#include

#include

class CThreadClass

{

public:

CThreadClass()

{

m_stop = false;

}

void StartThread()

{

m_thread.reset(new boost::thread(boost::bind(&CThreadClass::ThreadFunc, this)));

}

void StopThread()

{

m_stop = true;

m_thread->join();

}

void ThreadFunc()

{

while (!m_stop)

{

std::cout << "thread is running" << std::endl;

::Sleep(100);

}

}

private:

bool m_stop;

boost::shared_ptr m_thread;

};

CThreadClass* pHelper = NULL;

void StartListen()

{

pHelper = new CThreadClass();

pHelper->StartThread();

}

void StopListen()

{

if (NULL == pHelper) return;

delete pHelper;

pHelper = NULL;

}

int main()

{

StartListen();

::Sleep(1000);

StopListen();

return 0;

}

注意:reset前面是.,而join前面是->,目前没有明白

以上就是Boost线程中类内线程函数的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

函数 线程 时候 示例 分析 代码 实例 就是 更多 知识 篇文章 实用 优雅 成熟 例子 原因 只有 周期 寄存器 工作会 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国智互联网科技 智网互联网科技 互联网科技公司怎么样 互联网科技公司官网 西安互联网科技公司 北京禾田雨橡互联网科技 菲比寻常互联网科技 富国互联网科技创新基金 卫星互联网科技股票 北京三清互联网科技 汽车互联网创新科技园 华夏互联网科技业 亳州好赞互联网科技有限公司 互联网科技的全部知识 怎样加入科技互联网 互联网科技年终奖 广州有谷有贝互联网科技有限公司 宁波跨境商互联网科技有限公司 兰石爱特工业互联网科技分公司 安徽零酒互联网科技有限公司 互联网科技公司经营范围 互联网科技博主是什么意思 湖南诚度互联网科技有限公司 玉溪互联网科技怎么选 想开互联网科技公司怎么样 南通创西澳互联网科技有限公司 北京市互联网新科技 广东工业互联网大赛深圳学泰科技 互联网金融运营模式中的金融科技 保山浩联互联网科技有限公司
0