タグ

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

タグの絞り込みを解除

mutexに関するsuzukaze7のブックマーク (2)

  • pthreadについて(同期)

    はじめに この連載ではUNIX系OSなどで使われるスレッド「pthread」についてサンプルを交えて説明していきます。pthreadはPOSIXが仕様化したスレッドモデルです。サンプルはCと一部C++、調査環境はFedora 8(2.6.23.1-49.fc8)、32bit、glibc-4.1-2、gcc-4.1.2-33およびFedora Core 6(2.6.18-1.2798.fc6)、32bit、glibc-2.5-3、gcc-4.1.1-30を使用しています。 前回の記事 第1回:pthreadについて(概要・生成) 3.同期(1/4):mutex マルチスレッドに限らず、独立した処理を円滑に行うためには共有情報を意識し保護する必要があります。スレッドは非同期で動作しますが、スレッド内の全処理を非同期で処理する事は少なく、通常は仕様上および効率性の理由から、多少なりともスレッドが

    pthreadについて(同期)
  • Mutex - うなの日記

    Thread間の処理の同期にはMutexを使います。 Mutex#synchronizeで Mutexのロックの獲得 ブロックの処理を実行。 ロックの解除 を行います。Javaのsynchronizedブロックと似た感じで使えます。 require 'thread' m = Mutex.new ts = [] 3.times { |j| ts << Thread.start { m.synchronize { # ブロック内の処理が同期実行される。 5.times { |i| puts "thread-" << j.to_s << " : " << i.to_s sleep rand * 0.1 } } } } ts.each {|t| t.join } 実行結果です。ブロック内の処理が同期実行されています。 thread-0 : 0 thread-0 : 1 thread-0 : 2 t

    Mutex - うなの日記
  • 1