【发布时间】:2010-03-31 12:00:46
【问题描述】:
大家好,
我有一个线程化的 C++ 程序,其中最多三个线程在三个单独的套接字描述符上调用 select,等待数据可用。每个线程处理一个套接字并将其添加到 readfds 中,超时时间为 300 秒。如果有可用数据,则选择返回后,我正在调用 recv 来读取它。
关于winsock 和线程有什么需要注意的吗,因为由于某种原因,几个小时后,select 调用似乎都没有超时。多线程程序能否毫无问题地从多个线程中进行选择?
我知道我应该让一个线程监听所有三个套接字,但这对这个应用程序来说将是一个很大的变化,我只是想应用一个错误修复。
干杯,
马丁。
【问题讨论】:
-
@martsbradley,如果没有显示问题的示例代码,我们无法为您做很多非猜测。
标签: c++ visual-studio multithreading tcp winsock