C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92342 / 9階層)  スレッドをタスクで書くには
□投稿者/ WebSurfer (1910回)-(2019/09/11(Wed) 13:00:11)
No92330 (TanuTanu さん) に返信

VB.NET のコードとしてはイマイチかもしれませんが、async/await/Task を使った
非同期メソッドのコードを貼っておきます。

NorthWindProducts は Visual Studio のデータソース構成ウィザードで作った型付
DataSet ですが、要するに質問者さんのコードの 

DataSet1.TESTデータ.Rows(0)("TEST").ToString()

と同様に、

DataSet1.Products.Rows(0)("ProductName").ToString()

で文字列を取得できると思ってください。

Public Class Form3
    Dim DataSet1 As NorthWindProducts

    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Label1.Text += Await Task.Run(
            Function() As String
                Return Me.TimeCosumingMethod(DataSet1)
            End Function
        )
    End Sub

    Private Function TimeCosumingMethod(ds As NorthWindProducts) As String
        System.Threading.Thread.Sleep(3000)
        Return ds.Products.Rows(0)("ProductName").ToString() &
            " + ManagedThreadId: " & System.Threading.Thread.CurrentThread.ManagedThreadId
    End Function

    Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.DataSet1 = New NorthWindProducts
        Dim Adapter As New NorthWindProductsTableAdapters.ProductsTableAdapter
        Adapter.Fill(Me.DataSet1.Products)

        Me.Label1.Text = "ManagedThreadId: " &
            System.Threading.Thread.CurrentThread.ManagedThreadId & " / "
    End Sub
End Class

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[8]: スレッドをタスクで書くには /TanuTanu 返信無し
 
上記関連ツリー

スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 11:53) #92298
Re[1]: スレッドをタスクで書くには / WebSurfer (19/09/10(Tue) 12:51) #92299
│└ Re[2]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 14:00) #92301
│  ├ Re[3]: スレッドをタスクで書くには / 魔界の仮面弁士 (19/09/10(Tue) 14:12) #92302
│  └ Re[3]: スレッドをタスクで書くには / WebSurfer (19/09/10(Tue) 14:30) #92304
│    └ Re[4]: スレッドをタスクで書くには / WebSurfer (19/09/10(Tue) 14:52) #92305
Re[1]: スレッドをタスクで書くには / 魔界の仮面弁士 (19/09/10(Tue) 13:35) #92300
  └ Re[2]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 14:28) #92303
    ├ Re[3]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 15:24) #92308
    │└ Re[4]: スレッドをタスクで書くには / WebSurfer (19/09/10(Tue) 15:50) #92313
    └ Re[3]: スレッドをタスクで書くには / 魔界の仮面弁士 (19/09/10(Tue) 16:09) #92316
      └ Re[4]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 16:41) #92322
        └ Re[5]: スレッドをタスクで書くには / 魔界の仮面弁士 (19/09/10(Tue) 17:01) #92324
          └ Re[6]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 18:55) #92328
            └ Re[7]: スレッドをタスクで書くには / 魔界の仮面弁士 (19/09/10(Tue) 20:36) #92329
              └ Re[8]: スレッドをタスクで書くには / TanuTanu (19/09/10(Tue) 23:37) #92330 解決済み
                ├ Re[9]: スレッドをタスクで書くには / WebSurfer (19/09/11(Wed) 10:43) #92337
                └ スレッドをタスクで書くには / WebSurfer (19/09/11(Wed) 13:00) #92342 ←Now

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信