BeginInvokeとInvokeの違い
3936 ワード
簡単に言えば BeginInvokeはメソッドの実行を待つ必要がなく、次のコード を実行し続けます. Invokeは、次のコードの実行を続行するには、Invokeのコードの実行が完了するまで待たなければなりません.
上記の観点は、以下の項目でテストできます.
コードの一部のコードは次のとおりです.
コメントの切り替え
BeginInvokeとInvokeの効果は両者の違いを体得する
プロジェクトダウンロードアドレス:【ここを注文】
上記の観点は、以下の項目でテストできます.
コードの一部のコードは次のとおりです.
1 /// <summary>
2 /// Sub thread function
3 /// </summary>
4 private void ThreadFun()
5 {
6 MethodInvoker mi = new MethodInvoker(ShowProcessBar);
7
8 this.BeginInvoke(mi);
9 //this.Invoke(mi);
10
11 MessageBox.Show(" BeginInvoke Invoke ");
12
13 Thread.Sleep(1000);//Sleep a while to show window
14
15 bool blnIncreased = false;
16 object objReturn = null;
17 do
18 {
19 Thread.Sleep(50);
20 objReturn = this.Invoke(this.myIncrease,
21 new object[] { 1 });
22 blnIncreased = (bool)objReturn;
23 }
24 while (blnIncreased);
25 }
コメントの切り替え
BeginInvokeとInvokeの効果は両者の違いを体得する
プロジェクトダウンロードアドレス:【ここを注文】