タグ

2008年10月1日のブックマーク (3件)

  • C++の新しいキャスト

    C++の新しいキャスト 従来のキャストの問題点 異なる型への変換において、C/C++ではキャストが用いられます。 // intからlongへのキャスト int ival; int lval = (long)ival; ご存知のとおり、キャストは非常に危険です。 来ならば型の不一致によるコンパイルエラーをねじ伏せるのですから。 キャストの使われ方(意味)は、大きく3種(型変換/型変更/const外し)に分類されます。 型変換 // int から double へ int ival; double dval = (double)ival; 型変更 // long から int* へ long lval; int* iptr = (int*)lval; const外し // const int* から int* へ const int* ciptr; int* iptr = (int*)cip

    Kuromaku
    Kuromaku 2008/10/01
    C++キャストreinterpret_cast
  • ReaderWriterLock クラス (System.Threading)

    重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public ref class ReaderWriterLock sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject public ref class ReaderWriterLock sealed public sealed class ReaderWriterLock : System.Runtime.ConstrainedExecution.CriticalFinalizerObject public sealed class ReaderWriterLock [System.Runtime

    ReaderWriterLock クラス (System.Threading)
    Kuromaku
    Kuromaku 2008/10/01
    マルチスレッド
  • マネージド スレッド処理のベスト プラクティス - .NET

    マルチスレッドには慎重なプログラミングが必要です。 ほとんどのタスクでは、スレッド プールのスレッドを使って実行の要求をキューに置くことによって、処理の複雑さを軽減できます。 このトピックでは、マルチ スレッド動作の調整や、ブロックするスレッドの処理など、より難しい状況について説明します。 デッドロックと競合状態 マルチスレッドはスループットと応答速度の問題を解決しますが、その一方で、デッドロックと競合状態という新たな問題を発生させます。 デッドロック デッドロックは、2 つのスレッドのうちの一方が、もう一方によって既にロックされているリソースをロックしようとすると発生します。 こうなると、どちらのスレッドも続行できなくなります。 マネージド スレッド処理クラスの多くのメソッドには、ロックアウトを検出するためのタイムアウト機能が用意されています。 たとえば、lockObject というオブ

    マネージド スレッド処理のベスト プラクティス - .NET
    Kuromaku
    Kuromaku 2008/10/01
    マルチスレッド