- PR -

Control における非同期プログラミングについて

1
投稿者投稿内容
sim
会議室デビュー日: 2003/12/02
投稿数: 2
投稿日時: 2005-02-25 19:25
以下の現象は仕方ないことなのでしょうか?

 1.親画面にて別スレッドを生成
 2.別スレッドの無限ループにて、BeginInvokeを介して
   親画面のコントロールに、仮に時間を表示するとします。

親画面のコントロールに時計を表示する処理なわけですが、
親画面のスレッドにて重い処理が実行された場合、重い処理が終了するまで
時計が止まってしまいます。

これは、コントロールの更新自体は親画面のスレッドの中で実行されるので
致し方ないということでしょうか?

別スレッドからコントロールを操作する場合、コントロールが存在するスレッドで
重い処理が発生しても、コントロールの操作に影響しない方法をご存じの方が
いらっしゃれば、是非ご教授下さい。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-02-25 21:27
引用:

simさんの書き込み (2005-02-25 19:25) より:

これは、コントロールの更新自体は親画面のスレッドの中で実行されるので
致し方ないということでしょうか?


そういうことです。

この辺のスレッドが参考になるかも?
http://www.ailight.jp/BBS/Detail.aspx?Header_ID=1391
http://www.ailight.jp/BBS/Detail.aspx?Header_ID=1380
_________________
sim
会議室デビュー日: 2003/12/02
投稿数: 2
投稿日時: 2005-02-25 21:43
Jittaさん回答ありがとうございます。

やはりそうですか。
解読が困難なMSDNを見る限りそんな感じはしていましたが・・・。

スレッドありがとうございます。
早速は意見させて頂きます。
1

スキルアップ/キャリアアップ(JOB@IT)