我正在设计一个带有服务器的程序,让两个客户端进行通信。一个客户端执行命令,另一个客户端执行命令。
为了完成这项工作,我有两个线程:一个线程用于受控客户端,另一个用于控制器客户端。
受控客户端始终保持连接,有一个带有任务的向量,并在添加任务时执行这些任务。它有一个无限循环,当连接关闭时停止。
控制器客户端将任务添加到向量中。
现在由于两个线程之间共享一个向量,可能会出现竞争条件,但是由于一个线程只添加对象而另一个只弹出对象,这有必要吗?我试图为这个问题制作一个流程图,但可能不清楚。我真的不知道如何创建流程图:
我正在使用std::vector <CustomClass>
C++ 来实现这一点。
在此先感谢,
ief2
编辑:附加问题:vector.size()
调用是否需要互斥锁?