受信時のスピンロック回避方法
Posted: 2010年6月15日(火) 20:34
ソケット(sock1)からのデータをもう一方のソケット(sock2)に送るスレッドを作りたいです。
以下のコードで一応できたのですがCPU使用率が100%になってしまいます。
DWORD WINAPI Thread1(LPVOID lpvoid ) {
while{
char tmp1[1024];
int ret1;
while((ret1=recv(sock1, tmp1,1000, 0))>0){
send(sock2,tmp1,ret1, 0);
}
ExitThread(TRUE);
}
}
スピンロックになっているようですが、なにか解決策はありますでしょうか。
あまりにも長いため全ソースコードはお見せできませんが出来る限りご質問にはお答えしたいと
思います。
以下のコードで一応できたのですがCPU使用率が100%になってしまいます。
DWORD WINAPI Thread1(LPVOID lpvoid ) {
while{
char tmp1[1024];
int ret1;
while((ret1=recv(sock1, tmp1,1000, 0))>0){
send(sock2,tmp1,ret1, 0);
}
ExitThread(TRUE);
}
}
スピンロックになっているようですが、なにか解決策はありますでしょうか。
あまりにも長いため全ソースコードはお見せできませんが出来る限りご質問にはお答えしたいと
思います。
