タグ

MUTEXに関するMikatsukiのブックマーク (3)

  • ミューテックス - Wikipedia

    ミューテックス (英: mutex) とは、コンピュータプログラミングにおける技術用語。クリティカルセクションでアトミック性を確保するための排他制御や同期機構の一種である。「mutex」という語は「mutual exclusion」 (相互排他、排他制御) の省略形である。ここでは、狭義の排他制御について述べる。 セマフォをクリティカルセクションの排他制御に用いる時、セマフォでは(初期値が1でなければ)複数のタスクがクリティカルセクションに入ることを許可するのに対し、ミューテックスでは同時に一つのタスクのみがクリティカルセクションに入ることを許可する(ここで言うタスクとは、スレッドまたはプロセスを指す)。挙動はセマフォ変数の初期値を1にする事と等価。このようなタスク優先度とリンクしないミューテックスを、バイナリセマフォと呼ぶ場合もある。 狭義には、ミューテックスの場合にそれをロック(P操作

  • セマフォとmutexの違いは?

    > >一般論としては、Mutexは「カウントを1に限定した」特殊化したSemaphoreです。 > とのことですが、これはWin32以外の環境だと > これ以上の違いはないと言うことでしょうか? 「一般論」と書いた意味を取り落とされているのではないかと思います。 「一般論としては〇〇」なのですから、「Win32以外の環境」も含めて「各論」では「必ずしも〇〇とは限らない」とご理解ください。 なお、ご指摘のとおり、あるリソースを排他的に利用するだけであればMutexを使用するかわりにカウントが1のSemaphoreを使用することができます。(特定の環境での、MutexとSemaphoreの環境依存の動作を除けば、ですが。) ではなぜ2種類が用意されている(用意されている環境が存在する)のかといえば、リソースの排他的利用は非常によくあることなので、これに特化した機能を用意すればより良いであろう、

    セマフォとmutexの違いは?
  • 超簡単に多重起動を禁止する | てすとぺーじ v0.0.8

    多重起動の禁止について 次の項目から以下3つの方法を簡単に記載していますが、 最後の「Visual Studioの機能を使う」だけ参照してください。 書いておいて言うのもなんですが、それ以外の方法を考えること自体時間の無駄です。 ・「プロセス名で排他する」 ・「MUTEXを使う」 ・「Visual Studioの機能を使う」 プロセス名で排他する 自分と同じプロセス名のアプリが実行されていないかチェックする方法です。 この方法は楽ではありますが不完全すぎます。 Win32APIのFindWindowでやるのとあまりかわりがありません。 Dim myProcessName As String = System.Diagnostics.Process.GetCurrentProcess.ProcessName

    Mikatsuki
    Mikatsuki 2017/01/07
    プロパティでサクッと設定できるようだ。
  • 1