人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C#で「そもそもハンドルを持つリソースはGCの対象にはならない」ってどういうことですか?

http://d.hatena.ne.jp/Kazzz/20060922/p1

●質問者: afternoontea
●カテゴリ:コンピュータ
✍キーワード:C# GC ハンドル リソース
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Kazzz
●35ポイント

記事を書いた本人です。

ウィンドウ ハンドル (HWND)、データベース接続など、ランタイムで管理されないリソースは、アンマネジリソースと呼ばれており、通常はIDisposableインタフェースを実装して、明示的な開放を行えるようにする必要がありますが、そのこと自体がGCの対象にはならないという訳ではありません。

誤解を招く書き方であり、日記は修正しました。

http://d.hatena.ne.jp/Kazzz

◎質問者からの返答

「ハンドルを持つリソース」の方に食いつきましたが、どちらかというと「あと、注意すべきはこのコードでControlCollectionから取り除かれたTextBoxクラスのインスタンスは、GCの対象にはならない、ということだ。」のほうが重要だったかも。

誰も参照していないフォームは、何故 GC の対象にならないのか

http://blogs.wankuma.com/shuujin/archive/2006/02/27/21562.aspx

誰も参照していないフォームは、何故 GC の対象にならないのか(その2)

http://blogs.wankuma.com/shuujin/archive/2006/04/10/22318.aspx

誰も参照していないフォームは、何故 GC の対象にならないのか(その3)

http://blogs.wankuma.com/shuujin/archive/2006/04/19/22610.aspx


2 ● Kazzz
●35ポイント

>あと、注意すべきはこのコードでControlCollectionから取り除かれたTextBoxクラスのインスタンスは、GCの対象にはならない、ということだ。

そういうことでしたら、このケースでは、コレクションから取り除かれたTextBoxは、パーキングウインドウ(ParkingWindow)が"仮の親"となって参照を保持しているので、GCの対象にはならないと思われます。

http://d.hatena.ne.jp/Kazzz/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ