忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2024/11/24 03:51 |
セーフハンドルが閉じられていません

C#で作ったソフトを終了するとき、無数に作ったタスクどもをアボートしてから終了するんだけど、
その途中で
「セーフハンドルが閉じられていません」
という例外が出ていた。

デバック実行では出ないし、ヘルプを見ても何が悪いのかサッパリ。
色々色々と試行錯誤して、ようやく原因が分かった。

どうやら、タスクをアボートするタイミングに問題があるみたい。
タスクはスリープありの無限ループしてるんだけど、これを抜けさせた後でアボートするようにしたら、
例外が起きなくなった。
アボートは、タスクがRunning状態の時にこれをコールしても、即終了するわけではなく、
タスク切り替えタイミングまでは、動き続けるみたい。
その間に、既になくなっている別タスクの資源にアクセスした場合に、上記例外になる予感。
ほとんど想像だけど。

全部のタスクにこんな事せなあかんのか...タスク何十個もあるのに。ひー。

ってか正確に言うと、タスクじゃなくてスレッドですな。
違いは知らないけど。

拍手


2008/03/17 12:05 | Comments(0) | TrackBack() | デジタル関係

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<SendMessageから抜けられない | HOME | 忙殺>>
忍者ブログ[PR]