求助:有关线程操作的问题
有两个线程,线程1和线程2在实现暂停和终止的时候有问题,无法解决。
情况如下:
线程1用一般的语句完成暂停和终止功能,在程序单步调试的过程中是没有问题的。但是运行的时候却不能够实现功能,没有出现相应的事件响应过程。按钮按下的时候根本没有反应,但是单步调试是有的,而且是可以暂停和继续线程1的,很奇怪。
线程2是用TRY CATCH语句完成的,能够实现暂停和运行的功能,但是暂停后再次继续线程就不成功了。
Private Sub btnpause1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpause1.Click
If t1.ThreadState = ThreadState.Running Then
t1.Suspend()
btnpause1.Text = "继续"
ElseIf t1.ThreadState = ThreadState.Suspended Then
t1.Resume()
btnpause1.Text = "暂停"
End If
End Sub
Private Sub btnabort1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnabort1.Click
If t1.ThreadState = ThreadState.Suspended Then
t1.Resume()
t1.Abort()
ElseIf t1.ThreadState = ThreadState.Running Then
t1.Abort()
End If
End Sub
Private Sub btnpause2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpause2.Click
If btnpause2.Text = "暂停" Then
Try
t2.Suspend()
Catch err As Exception
End Try
btnpause2.Text = "继续"
Else
Try
t1.Resume()
Catch ex As Exception
End Try
btnpause2.Text = "暂停"
End If
End Sub
Private Sub btnabort2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnabort2.Click
Try
If t2.ThreadState = ThreadState.Suspended Then
t2.Resume()
End If
If t2.IsAlive Then
t2.Abort()
End If
Catch ex As Exception
End Try
btnpause2.Enabled = False
btnabort2.Enabled = False
End Sub
小弟是入门不到两个月的新手,高手们帮忙解决下,多提点解决方法。