我正在编写一个服务器,它将通过一个新线程回复每个客户端。
服务器代码:
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