我正在使用gRPC编写C / S演示。现在,我想在服务器中初始化一些线程局部变量。我知道如何向客户端调用的服务器添加功能。但是我不希望客户端在服务器设置后调用initad的initad函数。
我在服务器中的代码如下:
void RunServer(){
printf("threadID:%ld\n",total_sz,syscall(SYS_gettid));
std::string server_address("0.0.0.0:50051");
myServer service;
ServerBuilder builder;
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
builder.RegisterService(&service);
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
server->Wait();
}
int main(int argc, char** argv){
RunServer();
return 0;
}
但是客户端调用的那些函数位于其他线程中,而不是与“ main”函数所在的线程相同。