请教,我编写的多线程的Sock程序,运行后CPU占用100%。
我在主线程基础上,开了2个线程。这两个线程的工作分为:线程1负责Sock连接;线程2负责监听端口的数据到达、数据接受,主线程里对收到的数据进行处理。可是现在运行后,立刻CPU占用100%。我现在应该怎么调整?请高手指教!
在线等待!
我在主线程基础上,开了2个线程。这两个线程的工作分为:线程1负责Sock连接;线程2负责监听端口的数据到达、数据接受,主线程里对收到的数据进行处理。可是现在运行后,立刻CPU占用100%。我现在应该怎么调整?请高手指教!
在线等待!
最简单的办法,
在循环中加几个 Sleep(0)
呵呵, 可别打我,
这并不是一个很理想的解决方案,但却是一个很简单的解决办法
yourevent:=createevent(nil,false,false,nil);
wsaeventselect(s,your_event,fd_read);接收线程
while true do
begin
waitforsingleobjetct(your_event,infinite);
recv(....)
....
end;