两个线程共用同一个套接字,一个读一个写,会不会有效率问题?
雷格 2012-12-17 05:28:54 我用的UDP协议。有两个线程。一个线程不停地读端口,等待客户端信息到达。令一个线程时不时(可能会很频繁)的向所有客户端发送信息。
我知道操作系统自己会对套接字描述符做同步。从这点看是不能同时有两个线程使用同一个套接字的。
可是我又得知,套接字有发送缓冲区和接收缓冲区,即发送和接收是用的不同的缓冲区。从这点看,我又觉得可以同时对一个套接字即写又读了。只要不是多个线程同时写或同时读就好了。
我的这种做法(两个线程一个读一个写同意套接字)会不会造成一个线程在使用套接字的时候,另一个线程只能在一边等待。
PS:是linux平台。应该和windows差不多吧?
求解答!!!!