【发布时间】:2016-08-14 00:06:52
【问题描述】:
我有 c++ clr 项目。 它使用一家公司的 API(如 Solidworks 的 api)。
所以..我的问题发生在这里。
BOOL rc = m_pc3dCore->Login(m_CdmUser, m_CdmUserPass, m_CdmServer);
尝试登录其他服务器应用程序。 但是,如果该应用程序不起作用,则不会有任何响应。我无法推进下一个来源。 Debuger 无限停留 "m_pc3dCore->Login(m_CdmUser, m_CdmUserPass, m_CdmServer);"
所以,我确实将其包装为使用 try{} catch(...){} 但没有改变任何东西。
我想抛出异常,如果它在那里停留 4 秒。 你能教我如何解决这个问题或搜索关键字吗?
---我的看法 我以为我使用 System::Thread 接口解决了这个问题。 所以我试着做一个方法。该方法会无限循环。
void threadFuncA()
{
while(true){
}
}
制作线程
Thread^ newThread = gcnew Thread(gcnew ThreadStart(threadFuncA));
newThread->Start();
newThread->Join();
调用newThread->Join()后程序开始无限循环; 是解决方案退出循环吗?
- 我无法尝试使用 m_pc3dCore->Login(m_CdmUser, m_CdmUserPass, m_CdmServer); 因为该服务器现在正在工作,所以返回 True。结果我不能发生问题。这就是我制作无限循环方法的原因。
谢谢!
【问题讨论】:
标签: c++ multithreading timeout