2017年6月16日金曜日

TaskとThreadPoolは別物!!(C#)

久々の投稿ですな~
まぁ、ちょっと言いたいことがあったのでここで宣言するぞよ。

最近、C#で
複数のコントロールとフォームを操作するプログラムを
作っていたのだが、
イベントに組み込む処理が多くて長くてマルチタスク化を考えていたのだ。

みんなが、Taskのほうがいいというから使ってみたが
Invoke処理を挟むとまったくもっての無力・・・。

ThreadPoolならWaitCallbackを指定してあげて断然いけるけどなぁ

しっかし、なんでTaskはラムダ式記述が前提なんだ?
そこがダメダメポイントその2!!

いや・・・・・ダメダメではない。使い分けが重要なのだ。

Task使わなきゃ時代遅れとか、
速度が速いとか検討違いも甚だしいこと
言っている三流プログラマの声を
鵜呑みにする自分もバカでした。

Taskは計算処理や解析処理に有効。
同時入力で”並行”実行される。

ThreadPoolは、すぐには実行せず、
キューに処理をいれて、吐き出すときに着実に処理していく。

そう、TaskとThreadPoolは似て非なるものなのですよ!

ちゃんと実行処理できるThreadPoolに焦点をあてることにします

0 件のコメント:

コメントを投稿