投稿者 みどりこぶた  (高校生) 投稿日時 2017/12/1 12:20:18
スレッドの意図的な強制終了について。


Taskで実行されている処理を中断するには、予めキャンセルフラグを組み込む必要があるかと思います。
・Threading.ThreadのスレッドにはAbortメソッドがあるのに対して、Taskには強制終了の手段がない、という認識はあっていますか?
これは、中身がスレッドプールであるTaskに、スレッドを終了するという概念が無いためですか?それとも私が無知なだけで、強制終了も可能なのでしょうか?
もしくは、そもそもスレッドを強制終了する事が非推奨なため、そういった機能を排除したのですか?
もしスレッドの強制終了が非推奨なのであれば、その理由も知りたいです。


また、Taskの中身はスレッドプールである、という記事を読んだことがあります。
これはThreading.ThreadPoolを指しているのでしょうか?それとも、スレッドを使いまわしているというだけで全く別物ですか?
例えば、ThreadPoolでスレッド数の上限等を設定した場合、Taskにもそれが反映されるということですか?
・効率・コスト、仕組みなどはThreading.ThreadPoolと全く一緒と考えて良いのでしょうか?


駄文ですみません。
vb.net、vs2017で書いてます。勉強とかではなく趣味で、高校生です。常識無いかもしれませんが、指摘いただけると助かります。