Chinaunix

标题: 可以多线程select同一个UDP的socket吗 [打印本页]

作者: sjh_311    时间: 2007-10-08 11:23
标题: 可以多线程select同一个UDP的socket吗
我试验了一下:
一个客户端不停的发UDP包,
服务器端主线程创建并绑定socket,然后创建2个线程,并把该描述符传递到这两个线程中。
现象是线程2不停读到有准备好的描述符,线程1一直select返回0。

请问可以这样用吗?
作者: flw2    时间: 2007-10-08 13:50
没问题,select做的仅仅是当描述符可用时,唤醒等待的进程(其实是线程),跟多线程关系不大
作者: sjh_311    时间: 2007-10-08 14:42
原帖由 flw2 于 2007-10-8 13:50 发表
没问题,select做的仅仅是当描述符可用时,唤醒等待的进程(其实是线程),跟多线程关系不大

哦,也就是说在同一时刻只有一个线程会捕获到socket上的事件,其它线程都select超时。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2