(在win32/c++环境下工作)
ReadFile
我有一个函数,它以一个字节的固定大小(同步)调用以从SOCKET
资源(的WINSOCK
)读取。有多个线程在运行这个函数。数据从外部写入套接字,不受我控制。每当尚未写入数据时,我发现我exe
消耗了近 80% 的 CPU,并且使用率在上述线程之间相对平均分配(通常有 4 个)。
与ReadFile
OS api 一样,我希望它在内部异步实现以避免此类问题。我的问题是为什么会发生这种情况,我能做些什么来避免它。
(在win32/c++环境下工作)
ReadFile
我有一个函数,它以一个字节的固定大小(同步)调用以从SOCKET
资源(的WINSOCK
)读取。有多个线程在运行这个函数。数据从外部写入套接字,不受我控制。每当尚未写入数据时,我发现我exe
消耗了近 80% 的 CPU,并且使用率在上述线程之间相对平均分配(通常有 4 个)。
与ReadFile
OS api 一样,我希望它在内部异步实现以避免此类问题。我的问题是为什么会发生这种情况,我能做些什么来避免它。