我想知道Vb.net
在我的程序中,当我在另一台设备上接收数据时,线程正在工作
当我点击停止按钮时,我想暂停该主题,但没有支持的suspend()
方法和resume()
方法。我该如何使用它?
(我搜索了有关线程暂停的信息,但是每个人都在他们的程序中使用了suspend方法)
答案 0 :(得分:0)
你必须告诉线程暂停或恢复。从线程外部执行此操作会破坏它,这就是为什么不支持这些类型的操作。
现在,您如何向线程发送消息?有很多种方法,但也许最直接的方法是使用一对AutoResetEvent
个对象(http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(v=vs.110).aspx)。第一个对象用于表示工作线程需要暂停。第二个对象用于表示它应该恢复。工作线程应该等待或定期检查事件以确定是否需要暂停。当它暂停时,它会立即开始等待第二个事件对象。当主线程确定它已准备好恢复工作线程时,它会发出第二个事件对象的信号,这会唤醒工作线程。