0
回答
两个线程读和写套接字问题
【腾讯云】学生服务器套餐10元/月 >>>   

我在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;
	}
	

}

 

<无标签>
举报
顶部