.NET 3.x Приостановить/продолжить работу потока - Visual Basic .NET
Формулировка задачи:
Доброго! не удается приостановить работу потока (resume/suspend - не работает)
поток работает с внешним приложением с некоторыми непредсказуемыми случаями и что бы не начинать по новой.
все что удалось найти (не работает - поток продолжает работу)https://msdn.microsoft.com/en-us/lib...aithandle.aspxhttps://msdn.microsoft.com/en-us/lib...e.waitone.aspx
сделал так но цикл выполняется полностью... и далее начинается с начало
Решение задачи: «.NET 3.x Приостановить/продолжить работу потока»
textual
Листинг программы
Private Sub ThreadProc(manualEvent As Object) 'play / pause Dim ev As ManualResetEvent = DirectCast(manualEvent, ManualResetEvent) While ev.WaitOne() MsgBox("1") Thread.Sleep(2000) If ev.WaitOne = False Then Exit Sub MsgBox("2") Thread.Sleep(2000) If ev.WaitOne = False Then Exit Sub MsgBox("3") Thread.Sleep(2000) End While End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'start and check status If th1.ThreadState = ThreadState.Running Or th1.ThreadState = ThreadState.WaitSleepJoin Then Exit Sub Else th1.Start(manualEvent) End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 'stop and exit th1.Abort() Application.Exit() End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д