Boost使用相同的线程进行不同的操作

时间:2014-02-04 09:21:22

标签: c++ multithreading boost boost-thread

我正在编写一个服务器,它将通过一个新线程回复每个客户端。

服务器代码:

void ThreadB_Activity(ClientDetails ReplytoThis)
{
    cout<<endl<<"In thread with Id : "<<boost::this_thread::get_id()<<endl;
    Mutex.lock();
    /* Perform replying activities */
    Mutex.unlock();
}

void OnRequestOne(ClientDetails Requestor, std::string data)
{
    cout<<endl<<"Got data in request one as : "<<data;
    boost::thread ThreadB(&ReplySocketTest::ThreadB_Activity,this,Requestor);    
}

每当请求出现时都会触发OnRequestOne。目前正在测试140个客户端每1秒发送一次请求。

服务器能够回复所有客户端,但我获得80%回复的相同线程ID。 Boost如何做到这一点?

示例输出: Serverd请求号:316714

请求一中的数据为:Request-One 在带有Id的帖子中: 0xa78830

服务器请求号:316715

请求一中的数据为:Request-One 在带有Id的帖子中: 0xa78830

0 个答案:

没有答案