2012-02-20 28 views
3

私はこのパターンを以前から使用していましたが、それを説明するための用語を思い出すことができません(したがって、Googleでは詳細について知ることができません)。競合状態と呼ばれるこの解決策は何ですか?

基本的には、そのリソースへのアクセスをロックしたり、トランザクションをコミットしたり、アクセスをロック解除したりする代わりに、リソースは独自の「キュー」を持ち、各プロセスはそのリソースに対して実行される機能を「ポスト」するそのキュー。その後、リソースはポストされた順に各機能を実行し、その状態が決して壊れないことを保証します。

+0

サウンドは、非同期と遅延実行のようなものです。そのパターンに名前があるかどうかは不明です。また、それが競合状態そのものに関係しているかどうかもわかりません(単一のリソースへのアクセスを同期するだけなので、複数のリソースにわたるアクセスは規制されていないように見えます。 – Thilo

+0

これは非常に一般的なパターンです、これはCOMアパートメントスレッドの仕組みです。だから、任意に、 "アパートスレッド"はラベルです。基礎となるデータ構造は「プロデューサ/コンシューマキュー」です。 COMの場合のメッセージキュー。 –

+0

多分トランザクションメモリですか? :http://en.wikipedia.org/wiki/Software_transactional_memory – Ben

答えて

1

ここで使用できる最も具体的な用語はです。俳優です。私は

  • が...生きて...「スレッド」(または糸状のプロセス)であるとして俳優を考える:それは他の俳優
  • から独立して動作することができる...の状態があります。それは、データを格納し、適切なアクセスを確保できます。

このようなアクターの実装は、多くの場合、メッセージの同期キューを処理しているスレッドです。

この「同期」を正しく呼んでいるだけですが、非特定です。

0

同期と呼ばれます。あなたの説明から、あなたはmutexロックを使用しているようです。

+0

これは、ロックとコミットの両方のパターンと、彼が求めているキューイングのパターンの両方に当てはまるようです。 – Thilo

+0

ハァッ、ありがとうございます。しかし、私は、同期は競合状態を解消するための戦略に適用される一般的な用語であると考えていました(ミューテックスロックは同期アクセスの形式ではありませんか?) – Nick

関連する問題