C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■16482  Re[6]: Formイベントが呼ばれるスレッドについて
□投稿者/ 渋木宏明(ひどり) -(2008/04/06(Sun) 23:18:35)
>
    > 言葉足らずですみません.大規模並列計算を行うときに Fiber で必ずスループットが向上すると言いたいのではなくて,仮にパフォーマンスが上がるとしてもそういうエクストリームな世界のみだろうというのが言いたかった話です.

    それはもちろん分かってます。

    マルチスレッドで十分に効果が実感できるようなケースであっても、さらに Fiber の導入によってもっと多くの効果が実感できるかというとそーでもないね、ってことです。

    Fiber の利点はコンテキストスイッチが軽いことのはずですが、実行コードが複雑になればなるほど、ボトルネック全体に占めるコンテキストスイッチの比重は下がる傾向にあるからなんでしょうね。

    それに、あまりにも細かい単位でコンテキストスイッチすると、近代的なCPUの実行時最適化を無駄にしてしまったりもするだろうし。

    > すみません,ここも言葉足らずでしたが,私の理解している範囲では現在の CLR ではダイナミックに物理スレッド/論理スレッドの切り替えは不可能なはずです.
    > んで,将来の N:M スレッド対応のために BCL の中に盲腸のようなメソッド呼び出しが残っている.そんな感じだったような.

    やっぱり盲腸なのかな?

    一応、建前は建前で守るべきってことで、真面目に

    > Thread.BeginThreadAffinity とか EndThreadAffinity とかですね.

    なんかも使ったこともあります (^^;

    > Silverlight VM だと消されているかもしれません.

    Silverlight では他にもいろいろ省略されてたりするしますしね。
記事No.16452 のレス /過去ログ33より / 関連記事表示
削除チェック/

■91515  Re[1]: メモリリークに関して
□投稿者/ 魔界の仮面弁士 -(2019/07/02(Tue) 20:22:22)
    No91509 (kiku さん) に返信
    > ※通常はControls.Addしているのでフォーム解放時にdisposeされる認識

    .NET Framework の場合、Control.Dispose(bool) メソッド内で

     For i = 0 To controlCollection.Count - 1
      Dim control As Control = controlCollection(i)
      control.Parent = Nothing
      control.Dispose()
     Next

    に相当する処理が行われていますね。
    https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Control.cs,6040


    ところが .NET Compact Framework の実装については、上記に相当する処理を見つけることができませんでした。
    (一応 Dispose 時には、自身のハンドルを AGL.DLL の 序数2 (Destroy API) に渡しているようですが…)
記事No.91509 のレス /過去ログ158より / 関連記事表示
削除チェック/

■91518  Re[2]: メモリリークに関して
□投稿者/ kiku -(2019/07/03(Wed) 09:14:41)
    No91515 (魔界の仮面弁士 さん) に返信
    > ■No91509 (kiku さん) に返信
    >>※通常はControls.Addしているのでフォーム解放時にdisposeされる認識
    >
    > .NET Framework の場合、Control.Dispose(bool) メソッド内で
    >
    >  For i = 0 To controlCollection.Count - 1
    >   Dim control As Control = controlCollection(i)
    >   control.Parent = Nothing
    >   control.Dispose()
    >  Next
    >
    > に相当する処理が行われていますね。
    > https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Control.cs,6040
    >
    >
    > ところが .NET Compact Framework の実装については、上記に相当する処理を見つけることができませんでした。
    > (一応 Dispose 時には、自身のハンドルを AGL.DLL の 序数2 (Destroy API) に渡しているようですが…)

    回答ありがとうございます。
    なんと、これが直接的な原因みたいですね。
    .NET Compact FrameworkのControl.Disposeのソースは、
    .NET Frameworkのように閲覧可能なのでしょうか?
    もし可能ならURL教えて頂けませんか?
    自分の目でも確認したいです。
記事No.91509 のレス /過去ログ158より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -