ここしばらくjavaとC#+wpfを使っています。 どちらもGUIはメインスレッドで動いており、
- 別スレッドからGUIに指示を出す場合。
- これから重い処理をやるところで、それが落ち着いてからやる次の処理をあらかじめ登録しておく場合。
などにはイベントキューに処理を登録します。
javaとwpfのイベントキューを扱うメソッドは次の通りです。
- java : SwingUtilities.invokeLater
- wpf : Dispatcher.BeginInvoke
似てるっていえば、似てるんでしょうか?
そういえば、win32sdkのときはPostMessageとか使ってましたっけ。 そしてWindowsの次期開発環境WinRTは非同期がどうたらこうたら...
むか~しむかしMFCってのもあったなぁ、ってwikipediaを見てみたらまだあったんですね。
なんかもう、「その手の人向け」って扱いですが。
イベントキューについて考えてたはずなのに、いつのまにかマイクロソフト製のフレームワークに考えが移ってしまいました。 win32sdk、MFC、wpf、WinRT。 いくらマイクロソフトが大きな企業だといっても、この4つを全部サポートし続けるわけは無いですよね。 そしてWinRTが出てきた以上、今使っているwpfもMFCと同じような運命をたどるような気がします。
けど、WinRTもチラッと関連記事を読んだ限りではメトロが嫌われてるんだよなぁ。 ホントに、どれが残るんでしょうね?
マイクロソフト製品が隆盛を保ち続けるとも限らないし、結局最後に残るのはhtml「4」+javascriptだったりして?