我正在尝试自动化一些数据输入,所以我实现了一个 tcp 客户端和服务器,客户端将发送文件名,然后服务器将进入共享文件夹并将该文件导入数据库。
我的问题是文件名的发送速度可能比“导入数据库”更快。所以我创建了一个队列(我不确定如何设置它的大小),然后我将文件名推送到队列上然后执行
PushToDatabase(filename);
我想做的是:
queue<string> q;
char *data = new char[1024];
ReadFromClient(data);
//now 'data' has a filename
q.push(data);
PushToDatabase(q.front()); // I want to execute this in the background
q.pop();
我不确定是否需要实现线程来完成这项工作我也不知道如何在 c++ 中完成
还有其他想法吗??