タグ

2017年10月11日のブックマーク (2件)

  • 同期プリミティブの概要 - .NET

    WaitHandle クラスと軽量の同期型 複数の .NET 同期プリミティブは System.Threading.WaitHandle クラスから派生します。このクラスでは、ネイティブ オペレーティング システムの同期ハンドルをカプセル化し、スレッド相互作用のシグナリング メカニズムを使用します。 次のようなクラスが含まれます。 System.Threading.Mutex。共有リソースへの排他アクセスが許可されます。 所有しているスレッドがない場合、ミューテックスはシグナル状態になります。 System.Threading.Semaphore。共有リソースまたはリソースのプールに同時にアクセスできるスレッドの数を制限します。 セマフォの状態は、そのカウントが 0 より大きい場合はシグナル状態に、0 の場合は非シグナル状態に設定されます。 System.Threading.EventWa

    同期プリミティブの概要 - .NET
  • マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++

    概要 .NET Framework では、マルチスレッドプログラムを作成するためのクラスライブラリを提供しています。 C# でマルチスレッドプログラムを作成する場合、これらライブラリ中のクラスを用いて行うことになります。 また、C# ではスレッド間の同期を取るために lock 文という構文を用意しています。 ポイント C# なら、Thread クラスとデリゲートで並行処理・並列処理もお手軽。 実際には、スレッドを直接作らず、スレッド プールというものを介して使う。 .NET Framework 4 以降なら、Task クラスを利用。 排他処理は lock 文で。 マルチスレッドとは まず、スレッドに関して簡単に説明しておきます。 簡単に言うと、スレッド(thread: 糸、筋道)とは一連の処理の流れのことを言います。 図1 に示すように、 処理の流れが一道な物をシングルスレッド、 複数の

    マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++