プロが教えるわが家の防犯対策術!

C#のスレッド処理について、ご教授ください。
Taskで処理を複数走らせます。
このTaskインスタンスの処理終了か否かを、Taskインスタンス生成を行っていない呼び出し元クラスから参照することは可能でしょうか。
Idプロパティがあるので、Id指定でTaskを見るなどあると良いのですが、詳細がよく分からずなのです。
ご解答のほど、お願い致します。

A 回答 (2件)

>このTaskインスタンスの処理終了か否かを、Taskインスタンス生成を行っていない呼び出し元クラスから参照することは可能でしょうか。


グローバルな変数を用意して
別スレッドで処理が終了したらそれに何かしらの情報を入れることで
その変数を呼出元で参照することで確認するとかではだめですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
見るのが遅くなり、申し訳ありません。
クラスインスタンス生成⇒関数呼び⇒呼び出し先で別クラスインスタンス生成、といった流れでいくつかクラスを渡った末のTaskなため、グローバルにしても、参照渡しとかが出てきそうなので考えどころです。
VisualStudioの場合、並行タスクなどでIDで一覧化できたりがありましたので、単純に一番最初のクラスで、現状のタスク情報をIDなどから見て、実行中かどうかを見れればいいな、と思った次第でした。

お礼日時:2018/08/08 16:41

呼出先クラスに、それを得るためのメソッドを用意すればいいのでは。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
見るのが遅くなりました。
最終的に設計段階で状況チェックをする関数を作ることになりました。
クラスをいくつかわたってのスレッドでしたので、最初のクラスでできればいいなぁ、という思いでした。
ひとまず解決はしましたので、ベストアンサーとさせて頂きます。

お礼日時:2018/08/08 16:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!