DLL在运行时停止主线程

时间:2013-05-30 13:36:49

标签: c++ multithreading dll labview

我用软件(LabView)调用用C ++(VS2012)编写的DLL,它的作用是通过FTP在服务器上上传文件。

当DLL上传文件(15MB)时,它不允许LabView继续执行其他任务。 怎么可以解决这个问题?

2 个答案:

答案 0 :(得分:3)

无论你在C ++方面做什么来使调用线程安全,你都需要在LabVIEW中配置调用不要在UI线程中运行(出于安全原因,我认为这是默认配置)。双击该节点,然后选择任何线程选项中的运行。

此外,如果要确保在自己的线程中运行它,可以将其放在单独的VI中,并将该VI的执行设置更改为在不同的执行系统中运行。 LabVIEW不直接控制线程,因为它自己管理线程,但这应该使VI在不同的线程中执行。

答案 1 :(得分:1)

使用FTP进行操作是长期的。 最好在另一个线程中执行此类操作。