日期:2014-05-16  浏览次数:20727 次

请教:多线程使用同一个socket进行数据收发会出现什么问题?
如题

------解决方案--------------------
探讨

引用:
引用:

如果考虑互斥的话应该没多大问题吧,两个进程不同时使用它进行收发就可以了吧?引用:

肯定出错,不允许这样使用。


效率何其低,连网络I/O都要加锁了,程序不用跑了。


如果收发使用不同的socket,是否可以避免这些问题?通常的做法是……

------解决方案--------------------
一般一个线程多个socket 使用epoll检测socket的读写事件吧
如果多线程公用一个socket那这多线程就没什么意义了 只要socket被占用 其他都被锁住了