Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (9)

タグの絞り込みを解除

CsharpとGCに関するraimon49のブックマーク (3)

  • C#や.NET Frameworkがやっていること

    2014/3/1 Boost勉強会 #14 東京 にて https://sites.google.com/site/boostjp/study_meeting/study14 Boost勉強会なのに.NETの話で、1人だけ1時間(他の人は30分)。来、自分のペースでは4時間くらいかかってもおかしくない分量を1時間で。

    C#や.NET Frameworkがやっていること
    raimon49
    raimon492014/03/02非公開
    まさしく学校では教えてくれないやつだ。awaitはイテレーター(ジェネレーター)の応用、Awaitableパターン。
    • .NET TIPS ガベージ・コレクタを明示的に動作させるには? - C# VB.NET - @IT

      C++やVisual Basic 6.0の世界でプログラミングしてきた技術者が.NET Frameworkの世界に入ってきてまずおどろくのは、プログラムを実行していると、プロセスが使用するメモリ量がどんどん増えていくことである。「メモリ・リークか!?」と焦ることもあるが、これは正常な動作である。 メモリの解放忘れは典型的なバグの要因であり、メモリ解放を自動化することによって、プログラムの信頼性は向上し、プログラマーの負担も減る。自動的なメモリ解放を行う機構は、ガベージ・コレクタと呼ばれ、解放する行為をガベージ・コレクションと呼ぶ。問題は、ガベージ・コレクションがいつ行われるかであるが、これはメモリが不足してきた場合や、明示的に動作を指示された場合にのみ行われる。つまり、メモリが潤沢に余っている場合には、プロセスの使用するメモリ量が増加するのが正常な動作である。そのままメモリ不足でプログラム

      • 【C#】 usingを使え、使えったら使え (IDisposeも)

        こんな風にスコープを抜けたとき(Func()からリターンしたとき)も誰も参照しなくなったことになるのでそのうち破棄されます。 この「そのうち」っていうところに注意してください。決してすぐに破棄されるわけじゃありません。 GCはそれなりに大変な処理なので、そんなに頻繁に動きません。 それどころか、.NET FrameworkのGCは「メモリが足りなくなってきたら動く」という感じらしいです。 まぁ、これ自体は何も問題ありません(どっちにしろそのうち破棄されるんだから)。 けど、オブジェクトがメモリ以外のリソースを持っているときは問題になることがあります。 たとえば、 こんな場合です(えらく意図的ですが)。 Func()メソッドからリターンした時点でfsやsrを参照しているものは無くなりますから、そのうちGCによって破棄されます。 が、破棄されるまでは"test.txt"はオープンされたままにな

        raimon49
        raimon492009/09/04非公開
        try {resource} finally {resource.Dispose();} に相当。
        • 残りのブックマークを読み込んでいます1

        お知らせ

        公式Twitter

        • @HatenaBookmark

          リリース、障害情報などのサービスのお知らせ

        • @hatebu

          最新の人気エントリーの配信

        処理を実行中です

        キーボードショートカット一覧

        j次のブックマーク

        k前のブックマーク

        lあとで読む

        eコメント一覧を開く

        oページを開く

        はてなブックマーク

        公式Twitter

        はてなのサービス

        • App Storeからダウンロード
        • Google Playで手に入れよう
        Copyright © 2005-2025Hatena. All Rights Reserved.
        設定を変更しましたx

        [8]ページ先頭

        ©2009-2025 Movatter.jp