こんにちは。 マルチスレッドに夢中な岩崎です。
最近はずっとASPに携わっていたのですが、久々にC/S系のプロジェクトに携わるコトになりました。
言語はVB.NET×.NET Framework 1.1。3.0の時代に、今さら1.1とか言われると泣けるんですが、自由奔放にやれそうなので引き受けました。
VB.NETとなれば、是非とも挑戦してみたいマルチスレッド・プログラミング。
以前のVB6では実現が困難だった機能ですが、かなり手ごろに実装できる様子。ムリヤリ仕様に追加して、さっそく使ってみるコトにしました。
複数の処理を並行して実行するマルチスレッド・プログラミング。VB.NETには、それらの機能を実現する方法が初めから用意されており、容易に実装するコトが可能のようです。今さらになってしまいましたが、ようやく機会が巡ってきたので挑戦です。
画面は、数千件のデータが一覧される検索画面。
文字を入力するとリアルタイムに検索結果が表示されると良いなぁ…というコトでマルチスレッドの出番です。
これまでだと、文字を入力して結果が返ってくるまで反応がなくなってしまいますが、マルチスレッドなら処理を並行して行うコトができます(検索処理を別スレッドに渡す)。
ココで利用するのが正解かどうかは別として、さっそくサンプルコードをコピー。あっという間に実現してしまいました。キーワードを入力すると、どんどん絞りこまれます!
…と思ったのも束の間、見事にエラー。しかも、よく見ると検索結果がおかしい様子。
アレコレ試行錯誤しているうちに、なんとか安定したコードにはなりましたが、どうもスマートじゃないです。
検索中にキーワードが変更されたら、現在の検索処理を中断して再検索。テキストボックスのChangeイベントには、そんな処理が加えてあるんですが、この処理が恐らく正当ではない。特に落ちる様子はないものの、遊びじゃないから現状のままではマズいです。
結局、なんだかんだで丸1日消化してしまいましたが、まだまだ時間もあるので、明日も色々と調査してみようと思います。なにか参考になるサイトがあれば教えてください。
…と言うコトで、明日こそはスッキリと解決されるコトを祈りつつ、今日はこの辺で失礼いたします。^-^/~
- at 01:53
- Cat プログラム
- Tag Visual Basic
- コメント [0]
- ▲
この日記には、まだコメントがありません。お気軽にどうぞ。