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

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

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

BeginInvokeは順番通りに実行されますか?

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■95171 / inTopicNo.1)  BeginInvokeは順番通りに実行されますか?
  
□投稿者/ nyuuu (1回)-(2020/06/27(Sat) 12:37:51)

分類:[.NET 全般] 

VB.NETを使って、バックグラウンド処理において


BeginInvoke(処理1)

処理2

BeginInvoke(処理3)

のようなコードを組んでいるのですが、
ごくまれに、処理3の前に処理1が実行されている時がある気がします。
BeginInvokeって必ず実行された順番に
処理が行われるのでしょうか?

GUIの状態によっては順番通りにならない場合もありますか?


引用返信 編集キー/
■95173 / inTopicNo.2)  Re[1]: BeginInvokeは順番通りに実行されますか?
□投稿者/ Azulean (1160回)-(2020/06/27(Sat) 21:41:47)
No95171 (nyuuu さん) に返信
> BeginInvokeって必ず実行された順番に
> 処理が行われるのでしょうか?

同じコントロールを使う限りは、内部的に Enqueue/Dequeue のロジックのように見えるので、順番通りに実行されそうです。


> ごくまれに、処理3の前に処理1が実行されている時がある気がします。
???
「処理 3」の前に「処理 1」が実行されている…だけなら合っているのでは?
実際、「処理 1」→「処理 3」という順番で呼んでいるわけですから。


あと、「気がします」ではなく、ログに記録するなど、確証を得るようにしましょう。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ