1

次のコードを使用してタスクを作成しました

For (//pls ignore the variables)
            Dim task = (New System.Threading.Tasks.TaskFactory()).StartNew(
            Sub()
                downloadFiles()
            End Sub
            )

Next

タスクはn回作成され、非同期で正常に機能します。これにコールバックメソッドを追加する方法がわかりません。誰かがこのためのコールバックを追加する方法を教えてもらえますか?

4

1 に答える 1

2

コールバックの使用は次のようになります。私はfor...eachを省略しました。

 Private Sub StartTask_Click(sender As Object, e As RoutedEventArgs) Handles StartTask.Click
    Dim LongTask As Task = (New System.Threading.Tasks.TaskFactory).StartNew(AddressOf DoWorkAsync)
    LongTask.ContinueWith(AddressOf WorkCompleted)
    Debug.Print("")
  End Sub

  ''' <summary>
  ''' Called after DoWorkAsync Task is complete
  ''' </summary>
  ''' <remarks></remarks>
  Private Sub WorkCompleted()
    Debug.Print("completed")
  End Sub

  ''' <summary>
  ''' Called by Task
  ''' </summary>
  ''' <remarks></remarks>
  Public Sub DoWorkAsync()
    For i = 0 To 2000
      Debug.Print("test")
    Next
  End Sub
于 2013-03-27T08:00:02.990 に答える