在这个库最重要的一个类就是boost::thread,它是在boost/thread.hpp里定义的,用来创建一个新线程。下面的示例来说明如何运用它: #include <boost/thread.hpp>#include<string>#include<iostream>voidwait(intseconds) { boost::this_thread::sleep(boost::posix_time::seconds(seconds)); }voidthread() {for(i...
ln -s libboost_thread-gcc-mt-1_33_1.so.1.33.1 libboost_thread-gcc-mt-1_33_1.so ln -s libboost_thread-gcc-mt-d-1_33_1.so.1.33.1 libboost_thread-gcc-mt-d-1_33_1.so 4. 使用thread库 在/home/yjguo目录下新建main.cpp文件,内容为: #include <boost/thread/thread.hpp> #include <...
在这个库最重要的一个类就是boost::thread,它是在boost/thread.hpp里定义的,用来创建一个新线程。它已经被纳入C++标准库中。 小结:新一代C++标准将线程库引入后,将简化多线程开发。 1 #include <iostream> 2 #include <boost/thread.hpp> 3 4 void wait(int sec) 5 { 6 boost::this_thread::sleep(boo...
#include<boost/thread.hpp>#include<boost/chrono.hpp>#include<iostream>voidwait(int seconds){boost::this_thread::sleep_for(boost::chrono::seconds{seconds});}voidthread(){boost::this_thread::disable_interruption no_interruption;try{for(int i=0;i<5;++i){wait(1);std::cout<<i<<'\n';}}...
#include<boost/thread/condition.hpp> boost线程使用: 1 //< 回调函数 2 3 4 5 voiddoFunc(constchar*str) 6 7 8 9 { 10 11 12 13 printf(“%s”, str); 14 15 16 17 } 18 19 20 21 22 23 //< 初始化线程回调函数,返回值为void,参数为"hello, boost!" ...
#include <iostream> #include <boost/thread.hpp> #include <boost/function.hpp> #include <boost/bind.hpp> using namespace std; boost::mutex io_mutex; void Print(int x, string str) try { for (int i = 0; i < x; i++) { boost::mutex::scoped_lock lock(io_mutex); cout << "str...
boost::thread thrd2(count(2)); thrd1.join(); thrd2.join(); return 0;} 例3: // 这个例子和例2一样,除了使用Boost.Bind来简化创建线程携带数据,避免使用函数对象 #include <boost/thread/thread.hpp>#include <boost/thread/mutex.hpp>#include <boost/bind.hpp>#include <iostream>boost::mutex ...
boost::thread_group简单使用 类似线程池,demo如下: #include <boost/thread.hpp> #include <boost/bind.hpp> #include <iostream> void fun(int i) { std::cout << "fun:" << i << std::endl; } int main() { boost::thread_group threads;...
#include"stdafx.h"#include<iostream>#include<boost/thread/thread.hpp>voidhello(){std::cout<<"Hello world, I'm a thread!"<<std::endl;}intmain(){boost::threadthrd(&hello);thrd.join();} 出错: 错误LNK1104 无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib” ...
#include<iostream>#include<boost/asio.hpp>#include<boost/thread.hpp>using namespace boost::asio;std::string addr="127.0.0.1";// 创建子线程voidMyThread(boost::shared_ptr<ip::tcp::socket>socket){// 获取当前IP信息std::string local_address=socket->local_endpoint().address().to_string();whi...