2004-07-13から1日間の記事一覧

C++でsynchronized methodを書くのは難しい (3)

C++

方式cの改良です。まず、「初期化順」の問題を避けるためには、コンストラクタを呼び出すことなく初期化が済んでいるオブジェクトでなければなりません。そのためには、mutexオブジェクトを // 方法c' (仮) void Foo::need_to_sync(void) { static StaticMut…

C++でsynchronized methodを書くのは難しい (2)

C++

「いや、メソッドの同期化など頻繁に必要になるはずだ、便利な方法がないわけがない」と仰る方もいるでしょう。はい、あります。一般的な方法は、 (non-POD型の、つまり普通の)C++のクラスとして「Mutexクラス」を用意する クラス変数、あるいはグローバル変…

C++でsynchronized methodを書くのは難しい (1)

C++

Javaにはsynchronizedという便利なキーワードがあります。このキーワードを使うと、例えば次のように簡単にメソッドを「同期化」することができます。同期化されたメソッドは、複数のスレッドで同時に実行されることがありません。 public class Foo { ... p…