■26131 / ) |
Re[2]: C# Windowsサービス、スレッド、デストラクタについて |
□投稿者/ 直江兼続 (2回)-(2008/10/02(Thu) 14:43:41)
|
■No26130 (aetos(旧シャノン) さん) に返信
早速のご回答ありがとうございます。
> スレッドを停止させるのなら、Client1 クラスの外部から isContinue を false にしてやればいいでしょう。 > そのためには、isContinue は Client1 のメンバ変数にして、Service1 側で Client1 の配列を持っておく必要があるでしょう。
すみません、説明が欠けていました・・。 監視処理のwhile文の中に1行、DBにデータが入ってくるまで監視するコードがあります。 その行でずっと滞在しているため、外部からfalseにしたところではスレッド自体、処理が停止には至らないかと思います・・。
> デストラクタは無理です。というか、C# にデストラクタというものはありません。 > ~Client1 はファイナライザというもので、インスタンスがガベージコレクションによって回収されるときに呼ばれるものです。そのタイミングは制御できません。 > クラスに対して何か後始末を行う必要があるのなら、IDisposable インターフェイスを実装して、その Dispose を呼んでやりましょう。 > この辺は注意点とか書き始めると長〜くなるので割愛します。IDisposable で検索して調べてみてください。
ありがとうございます。調べてみます。
|
|