在一个socket上多线程接收数据缓冲区是否会发生覆盖有关问题呢
在一个socket上多线程接收数据缓冲区是否会发生覆盖问题呢?
类似于两个线程中开启局部变量的接收缓冲区,是否对系统的接收缓冲产生覆盖。。。
不知我理解是否正确。请大神指教 - -
------解决思路----------------------
每个接收线程有自己独立的缓冲区,最终结果由处理线程在总的缓冲区中拼装。
------解决思路----------------------
socket有个系统的io缓存,可以通过setsockopt设置
你多个线程操作一个socket这肯定出问题哦,产生资源竞争,所以要加锁...
还有多个线程接收同一个socket的数据,那样就会导致数据东一块西一块,很不合理
所以用专门的io线程去接收socket的数据
------解决思路----------------------
可以查查关于FD_ISSET的用法!
类似于两个线程中开启局部变量的接收缓冲区,是否对系统的接收缓冲产生覆盖。。。
不知我理解是否正确。请大神指教 - -
------解决思路----------------------
每个接收线程有自己独立的缓冲区,最终结果由处理线程在总的缓冲区中拼装。
------解决思路----------------------
socket有个系统的io缓存,可以通过setsockopt设置
你多个线程操作一个socket这肯定出问题哦,产生资源竞争,所以要加锁...
还有多个线程接收同一个socket的数据,那样就会导致数据东一块西一块,很不合理
所以用专门的io线程去接收socket的数据
------解决思路----------------------
可以查查关于FD_ISSET的用法!