タグ

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

  • 関連タグはありません

タグの絞り込みを解除

.NETとマルチスレッドに関するkahkiのブックマーク (2)

  • Mutexをさらに便利に - いわゆるメモ書き@C#

    C#便利なMutexであるが、それをさらに便利にしよう。 using (new AdvancedMutex("name")) { Console.WriteLine("start"); Thread.Sleep(50000); Console.WriteLine("end"); } こんな風にusingだけで簡単にプロセス間排他制御できるようになるユーティリティクラス。AbandonedMutexExceptionで悩む必要が減る。 using System; using System.Threading; public class AdvancedMutex : IDisposable { private Mutex mutex; public AdvancedMutex(string name) { mutex = new Mutex(false, name); mutex.WaitO

  • [雑記] スレッド間の競合回避

    概要 (書きかけ) 複数のスレッドが同じデータを読み書きする場合、以下のような問題が起きる可能性があります。 読む → 加工 → 書き戻す という一連の作業の間に別の処理が割り込むことで、加工結果が正しく書き戻せないことがある。 書き換えの途中で読み込み処理が走ることで、中途半端な不正なデータになってしまう。 このような問題を避けるためには、一連の処理を原子的に(他のスレッドに割り込まれることなく)行えるような仕組みが必要になります。 「マルチスレッド」で説明した「ロック」も、そのための仕組みの1つです。 ここでは、原子性の保証に必要ないくつかの概念について説明して行きます。 予定 ●前置き ここで話すような内容、実際のところ、ライブラリの内部とかに閉じ込めて、エンド ユーザーが直接触らない方がいい。 並列処理、マルチ スレッド プログラミングの怖さはテストのしにくさ。 100万回に1回と

    [雑記] スレッド間の競合回避
  • 1