【发布时间】:2011-10-02 22:38:10
【问题描述】:
我以前没有在我的程序中使用过线程。但是我在使用这个 3rd 方应用程序时遇到了问题。
这是一个异地备份解决方案,它有一个服务器和许多客户端。我们有一个管理控制台来管理所有客户端,这就是问题所在。
如果其中一个客户端应用程序被卡住,或者运行时出现故障,管理控制台将永远等待得到响应并且不显示任何内容。
$for(client= client1; client < last_client; client++){
if (getOServConnection(client, &socHandler)!=NULL) { .. }
}
我想要两个解决方案。我想知道是否有,我可以为函数 getOServConnection 设置超时,以便在 X 秒内得到响应。
而且,我想知道如何为所有客户端并行调用此函数,以便在 X 秒内获得所有客户端的响应。
getOServConnection 包含一个 WSAConnect 调用,我不想在套接字上使用任何选项,因为它被其他模块使用,它会严重影响应用程序。
【问题讨论】:
标签: multithreading visual-c++ timeout parallel-processing boost-thread