我在socket连接成功后,阻塞的,用pthread创建了两个线程,并把socket传给两个线程,一个线程读,一个线程写,这样会有问题吗?读和写操作的两个线程会不会同时引发error?
伪代码
读取
while(1){
nread = recv(fd, buff, buffSize, 0);
if(nread < 0){
error;
}
do message;
}
写
while(1){
buff, buffSize = synchronize(get buff from queue)
if (buff == NULL)
{
continue;
}
nsend = send(fd, buff, buffSize, 0);
if(nsend < 0){
error;
}
}