我正在开发一个Windows窗体应用程序,以便在通过USB连接的设备上执行少量操作。对于Read,Write等所有操作,我们都有一个自定义库。
当用户点击按钮时完成写操作。
要阅读,会创建一个单独的线程。可用库的问题是Read调用是阻塞的并且具有INFINITE Timeout。
如果连接失败,此线程会停留在Read函数调用,因为此函数仅在收到数据时才会中断。
在这种情况下杀死此主题的方法是什么? Thread.Abort()不起作用。
我正在使用C#进行编程。
答案 0 :(得分:1)
您的Read方法可能调用本机代码,因此线程无法中止。没有办法(至少我熟悉)中止使用COM互操作的线程。你可以在第一时间看看为什么Read方法阻塞线程。在调用Read方法之前,请尝试检查要求。
看看这个问题:Abort call to unmanaged DLL