C++ 同时将不同客户端的数据写入不同的文件

C++ 同时将不同客户端的数据写入不同的文件,c++,multithreading,client,thrift,C++,Multithreading,Client,Thrift,我现在有一个Thrift TSimpleServer,它将同时接受来自多个客户端的连接。一旦这些客户端连接,它们将发送要存储在服务器上相应文件中的数据。现在我对thrift还很陌生,所以我不知道TSimpleServer如何处理多个连接(还没有测试过),无论如何,我甚至不知道如何将接收到的数据同时保存在不同的文件中。我假设创建了一个单独的线程来处理每个客户端连接,但是如何给每个线程一个文件路径来使用呢?TSimpleServer一次只处理一个连接。您可能希望使用能够并行处理请求的TThreade

我现在有一个Thrift TSimpleServer,它将同时接受来自多个客户端的连接。一旦这些客户端连接,它们将发送要存储在服务器上相应文件中的数据。现在我对thrift还很陌生,所以我不知道TSimpleServer如何处理多个连接(还没有测试过),无论如何,我甚至不知道如何将接收到的数据同时保存在不同的文件中。我假设创建了一个单独的线程来处理每个客户端连接,但是如何给每个线程一个文件路径来使用呢?

TSimpleServer一次只处理一个连接。您可能希望使用能够并行处理请求的TThreadedServer或TThreadPoolServer

如何给每个线程一个文件取决于具体的用例。例如,您可以考虑导出线程工厂的自己版本,并使用线程管理器登记此线程工厂。虽然下面的博文并没有完全涵盖您的场景,但您应该从本文末尾的代码中了解这一点: