0

(在win32/c++环境下工作)

ReadFile我有一个函数,它以一个字节的固定大小(同步)调用以从SOCKET资源(的WINSOCK)读取。有多个线程在运行这个函数。数据从外部写入套接字,不受我控制。每当尚未写入数据时,我发现我exe消耗了近 80% 的 CPU,并且使用率在上述线程之间相对平均分配(通常有 4 个)。

ReadFileOS api 一样,我希望它在内部异步实现以避免此类问题。我的问题是为什么会发生这种情况,我能做些什么来避免它。

4

1 回答 1

0

自从我进行Win32编程以来已经很长时间了,但是我似乎记得当没有数据可从套接字读取时,ReadFile会返回错误。它可能会返回读取的 0 字节或其他内容。

于 2013-09-17T12:39:43.750 回答