【发布时间】:2010-02-06 20:30:08
【问题描述】:
我有一个基本的 Win32 控制台应用程序,它调用命名管道,然后在 while(true) 循环内调用 Sleep(1000)。一百次迭代后,Sleep(1000) 将挂起。我看不出这是什么原因。
好的,我所做的就是将在这个 MSDN 示例中找到的代码逐字逐句地作为服务器运行:http://msdn.microsoft.com/en-us/library/aa365601%28VS.85%29.aspx
然后,我将在此 MSDN 示例中找到的代码用于此处的客户端:http://msdn.microsoft.com/en-us/library/aa365592%28VS.85%29.aspx,并对其进行修改,以便将所有调用代码移动到单独的方法中,然后从 main() 中调用它像这样:
while (true)
{
sendmsg();
Sleep(1000);
}
我应该补充一点,当我运行多个客户端实例时会出现问题,比如大约 4 或 5 个实例。我看不出有什么理由。根本没有同步发生。该代码与两个链接中的代码完全相同,除了更改以循环运行客户端代码,每次调用后都使用 Sleep(1000)。
【问题讨论】:
标签: windows visual-studio-2008 visual-c++ winapi