|
分類:[.NET 全般]
VB.NET2005で開発をしています。 スレッド関連がよくわからなかったため、質問させていただきます。
スレッドタイマを使って処理をしていたら、なぜか途中でとまってしまいます。 ソースは次のようになります。
Imports System Imports System.Threading
Public Class Form1 Delegate Sub setLabel(ByVal i As Integer)
Private value As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Timer As New TimerCallback(AddressOf TimerProcess) Dim timer1 As New Timer(Timer, Nothing, 500, 10) End Sub
Private Sub TimerProcess(ByVal state As Object) Dim dlg As New setLabel(AddressOf insertText)
value += 1 Me.Invoke(dlg, New Object() {value}) End Sub
Private Sub insertText(ByVal i As Integer) Label1.Text = i.ToString End Sub End Class
ラベルのテキストを随時更新しています。 私の環境だと、260くらいで画面の更新がとまってしまいました。 スレッドタイマもスレッドプールを使用したタイマ・・・と記述がありましたが、 スレッドプールがいっぱいになっているのでしょうか? 何か調査する方法がありましたら、よろしくお願いします。
|