`
mylove2060
  • 浏览: 330645 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C++ Boost线程调用的一种方式

阅读更多
#include <iostream> 
#include <boost/thread/thread.hpp>

class TestThreadRun{
public:
	TestThreadRun(){};
	virtual ~TestThreadRun() {} //!< Empty Destructor.

	void operator()()
	{
		run();
	}

	void run()
	{
			std::cout<<"TestThreadRun::run()"<<std::endl;
	}
};

int main(int argc, char* argv[])  
{  

	TestThreadRun *threadRun = new TestThreadRun();
	boost::thread *testThread = new boost::thread( *threadRun );
	testThread->join();
	return 0;  
}  


Result:

TestThreadRun::run()
分享到:
评论

相关推荐

    当析构函数遇到多线程── C++ 中线程安全的对象回调

    如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以...

    Boost C++扩展库

    Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。 Boost中比较有...

    当析构函数遇到多线程── C++ 中线程安全的对象回调 PDF

    如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以...

    Python调用C++,通过Pybind11制作Python接口

    python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单,现在我们就简单记下Pybind11的入门操作。 1. pybind11简介与环境...

    Boost库定制安装更新版

    Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响...

    使用设计模式中的单例模式来实现C++的boost库

    一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety。 使用...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    asyncpp:C++ 异步操作

    异步程序Asyncpp 是一个 C++ ... 想象一下,我们必须连续调用一个阻塞函数 3 次。 如果任何调用返回false ,我们希望向调用者返回false 。 bool func ();bool call_func_three_times () { for ( int i = 0 ; i &lt;

    childprocess:C ++ 17类管理Unix子进程

    简而言之,封装了Unix fork / exec / kill / wait系统调用 还: 向进程发送终止信号(在dtor中) 在子进程中运行初始化函数 线程安全 异常安全 可在符合的应用程序中代替system(3)和popen(3) 先决条件: C +...

    coroutine2:Boost.Coroutine2

    协程可以看作是一种提供特殊控制流的语言级构造。 与抢占式线程相比,协程交换是协作的(程序员控制何时进行交换)。 协程开关中不涉及内核。 boost.coroutine2需要C ++ 11! 请注意,boost.coroutine2是不再使用...

    shared_ptr线程安全性全面分析

    shared_ptr的线程安全性boost官方文档对shared_ptr线程安全性的正式表述是:shared_ptr对象提供与内置类型相同级别的线程安全性。【shared_ptrobjects offer the same level of thread safety as built-in types.】...

    wav2mp3:一个CC ++命令行应用程序,它将一组WAV文件编码为MP3

    任务编写将一组WAV文件编码为MP3的C / C ++命令行应用程序要求以路径名作为参数调用应用程序,例如F:\ MyWavCollection该文件夹中直接包含的所有WAV文件都将被编码为MP3 通过利用多线程,以有效的方式将所有可用的...

    windows 64位 python-3.4安装包

    Boost C++ Libraries包含了一组库,Boost.Python,使得以 Python 或 C++ 编写的程序能互相调用。借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C++,Python已成为一种强大的应用于其他...

    RCF2.2 VC++ 例子

    多进程调用例子,止在解决单进程多线程的模块划分,产品做的更加稳定 依赖boost库 RCF(远程调用框架)是一个C ++ IPC框架,提供了一种在C ++程序中实现进程间通信的简单而一致的方法。

    masio:Boost.Asio 库的 Monadic 接口

    Boost.Asio 是一个很棒的库,因为它提供了跨不同平台的统一 API,并且该 API 使开发人员从线程、锁等方面的思考中解放出来。 也就是说,在使用库一段时间后,人们意识到每次调用异步操作时都必须重复某些代码模式。...

    Logger:日志库,支持日志分级别、自定义文件大小、自定义文件前后缀、打印日志到设备(终端)等功能,线程安全

    不同级别的日志写入不同的文件,便于查看统计支持打印日志到设备(终端),便于调试默认提供一个简单的单例类,便于调用线程安全依赖boost库,须链接boost_thread、boost_system效率有待提高欢迎补充调用调用方法详见...

    st_asio_wrapper:异步cs网络框架; 基于Boost.Asio; 非常有效率

    st_asio_wrapper是一个基于Boost.Asio的异步c / s框架,除了Boost和Boost.Asio带来的所有好处之外,它还包含: 基于UDP之类的消息,带有几个内置的打包器和解包器; 支持打包程序和解包程序的自定义,并在运行时...

    epoll4:第四代epoll协程相结合的网络库

    大大降低系统开发难度),再一个对第三方库的调用不应该用hook方式,因为这种方式鬼才知道有没有问题,其实解决这个故我使用boost.Coroutine2这个库,封装了epoll系统调用,让c ++也能愉快的使用协程来开发后台服务...

    a-lame-mp3-encoder:给定一个.wav文件目录,利用并行性将它们编码为.mp3文件

    通过利用多线程,以有效的方式将所有可用的CPU内核用于编码过程 静态链接到Lame编码器库 应用程序应该在Windows和Linux上是可编译且可运行的 生成的MP3文件将与源WAV文件放在同一目录中,文件名扩展名应适当更改为....

Global site tag (gtag.js) - Google Analytics