掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
BackgroundWorkerの並列処理 (ID:148233)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
BackgroundWorkerを2つ用意して並列処理を行いたいのですが、 どうも思惑通りに動きません。 BackgroundWorker1の処理とBackgroundWorker2の処理を別スレッドで 同時に実施したいのですが、BackgroundWorkerではそのような処理は 実現出来ないのでしょうか? それともただ単に私のソースの記述に誤りがあるのでしょうか? 開発環境 Windows7 Professional SP1 Visual Studio 2010 Professional 以下、ソースです。 Imports System.ComponentModel Imports System.Threading.Thread Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click BackgroundWorker1.WorkerReportsProgress = True BackgroundWorker1.RunWorkerAsync(0) BackgroundWorker2.WorkerReportsProgress = True BackgroundWorker2.RunWorkerAsync(0) End Sub Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim bgWorker As BackgroundWorker = DirectCast(sender, BackgroundWorker) bgWorker.ReportProgress(0) End Sub Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged Sleep(5000) St01_Form.Close() End Sub Private Sub BackgroundWorker2_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork Dim bgWorker As BackgroundWorker = DirectCast(sender, BackgroundWorker) bgWorker.ReportProgress(0) End Sub Private Sub BackgroundWorker2_ProgressChanged(ByVal sender As Object, ByVal e As ProgressChangedEventArgs) Handles BackgroundWorker2.ProgressChanged Sleep(5000) St02_Form.Close() End Sub どうかご教授の程、宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.