如何在Vb.net中使用suspend和resume方法
本文关键字:suspend resume 方法 Vb net | 更新日期: 2023-09-27 18:26:27
我想了解Vb.net
的线程方法
在我的程序中,当我在另一个设备上接收到数据时,线程正在工作
当我单击停止按钮时,我想暂停线程,但没有支持的suspend()
方法和resume()
方法。我该如何使用它?
(我搜索了关于线程暂停的信息,但每个人在程序中都使用suspend方法)
您必须告诉线程挂起或继续。从线程外执行此操作会破坏它,这就是为什么不支持这些类型的操作。
现在,如何向线程发送消息?有很多方法,但也许最简单的是使用一对AutoResetEvent
对象(http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(v=vs.110).aspx)。第一个对象用于表示工作线程需要暂停。第二个对象用于发出应该恢复的信号。工作线程应该等待或定期检查事件,以确定是否需要暂停。当它确实暂停时,它会立即开始等待第二个事件对象。当主线程确定它已经准备好恢复工作线程时,它向第二个事件对象发出信号,该对象唤醒工作线程。