【发布时间】:2018-09-13 10:34:03
【问题描述】:
我使用 grpc cpp 示例“helloworold”代码来测试限制句柄线程。但我找不到任何方法。
grpc 版本:1.15
linux:ubuntu 16.04
我这样设置构建器:
builder.SetSyncServerOption(ServerBuilder::SyncServerOption::MIN_POLLERS, 1);
builder.SetSyncServerOption(ServerBuilder::SyncServerOption::MAX_POLLERS, 1);
builder.SetSyncServerOption(ServerBuilder::SyncServerOption::NUM_CQS, 1);
这样设置句柄:
class GreeterServiceImpl final : public Greeter::Service {
Status SayHello(ServerContext* context, const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
std::cout << "start " << std::this_thread::get_id() << std::endl;
reply->set_message(prefix + request->name());
//**** sleep 5s, keep this thread block ****
std::this_thread::sleep_for(std::chrono::seconds(5));
std::cout << "end " << std::this_thread::get_id() << std::endl;
return Status::OK;
}
};
我使用示例客户端并在 100 个线程中调用 SayHello,服务器日志显示该线程被创建了 100 次。
在这个测试中,我的测试方法有问题吗?还是有些东西错过了设置??
【问题讨论】:
标签: c++ multithreading grpc