[color=green][i][b]
Author:QQ174554431
[/b][/i][/color]
[b]TestTimeJoin.h[/b]
[b]TestTimeJoin.cpp[/b]
[b]main.cpp[/b]
[color=darkblue][b]result:[/b][/color]
[color=red]
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running[/color]
线程在10000微秒内结束
Author:QQ174554431
[/b][/i][/color]
[b]TestTimeJoin.h[/b]
#pragma once
#include <iostream>
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
class TestTimeJoin
{
public:
TestTimeJoin(void);
~TestTimeJoin(void);
void Running();
void StartingThead();
private:
boost::thread *mainthread;
};
[b]TestTimeJoin.cpp[/b]
#include "TestTimeJoin.h"
TestTimeJoin::TestTimeJoin(void)
{
mainthread = new boost::thread(boost::bind(&TestTimeJoin::Running,this)); //create a new thread thread
}
TestTimeJoin::~TestTimeJoin(void)
{
}
void TestTimeJoin::StartingThead(){
mainthread->timed_join(boost::posix_time::microseconds(10000));
}
void TestTimeJoin::Running()
{
while(true){
std::cout<<"running"<<std::endl; //running body
}
}
[b]main.cpp[/b]
#include "stdafx.h"
#include <iostream>
#include "TestTimeJoin.h"
int _tmain(int argc, _TCHAR* argv[])
{
TestTimeJoin *testTimeJoin = new TestTimeJoin(); //create a thread manager
testTimeJoin->StartingThead(); //starting the thread
return 0;
}
[color=darkblue][b]result:[/b][/color]
[color=red]
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running[/color]
线程在10000微秒内结束