2009-10-20 22 views
20

私はこの用語で少し混乱しています。なぜ非同期プロセスは同期と呼ばれないのですか?

「非同期」コンピューティングとは、別々のスレッドで別々のプロセスを実行することを指し、これらのプロセスが同時に実行されているという不快感を与えます。

これは、非同期という単語の定義ではありません。

a⋅syn⋅chro⋅nous 
–adjective 
1. not occurring at the same time. 
2. (of a computer or other electrical machine) having each operation started only after the preceding operation is completed. 

私はここで何を理解していませんか?

+4

わかりません。しかし、定義#2は、プログラマーがその言葉をどのように使用するかの正反対であるというのは面白いと思う。 –

+1

これは私が通常Googleを使用する理由です:私の定義を得るために "define:* word *"。一度に4,5または20の定義を取得します。 –

+1

"非同期"という言葉の定義が間違っていると思います。 –

答えて

10

つまり、2つのスレッドが同期して実行されていない、つまり、両方が同じタイムライン上で実行されていないことを意味します。

私は、コンピュータサイエンスの人たちが言葉の使用についてあまりにも賢明であるケースだと思います。

同期は、このコンテキストでは、両方のスレッドが同時に開始と終了を示唆します。この意味での非同期性は、両方のスレッドが必要に応じて自由に開始、実行、終了できることを意味します。

9

「同期」という語は、ある関数呼び出しがと同期していることを意味します。と他のイベントがあります。

非同期は、そのような同期が発生しないことを意味します。

「並行」の定義が本当にあるはずの定義のようです。その定義は間違っています。


PS:ここ

がウィクショナリー定義です:同期していない

asynchronous

  1. 。異なる時に発生する。
  2. (要求またはメッセージのコンピューティング)は、処理中にクライアントを続行できるようにします。

正確にの投稿とはまったく同じです。

+0

私は私の定義を得ました: http://dictionary.reference.com/browse/Asynchronous – Balk

+0

私はBalkの定義を見つけました:http://dictionary.reference.com/browse/asynchronousそれは単語の定義のようです文脈によって大きく異なる。 –

+1

私はあなたがそれを作ったと言っているわけではありません、私はちょうど2つの情報源の定義#2が直接反対であると言っています。 –

2

私は、彼らが同期していないからだと推測する。一つのプロセスが停止してしまった場合は言い換えれば)

...、殺された、または何かを待っている、他のは

1

あなたの第二の上に運ぶでしょう

2. [...] having each operation started only after the preceding operation is completed. 

非同期呼び出しを行うと、次の操作が開始される前にその呼び出しが完了していない可能性があります。通話が同期している場合は、通話になります。

+1

あなたの説明は正しいですが、それはその定義が言っているのと反対です... – Guffa

0

これは実際に、非同期イベントが他のイベントとは独立して発生しているのに対して、同期イベントは他のイベントに依存して起こっていることを意味します。

5

この用語は、同期と非同期の通信に初めて使用されたと考えられます。同期信号とは、2つの通信部分が共通のクロック信号を持っているため、並列に動作します。非同期通信の代わりに準備完了信号があるので、あるパートはデータを要求し、使用可能なときに信号を戻します。

この用語は、プロセスに適合させられましたが、明らかな違いがあるため、用語のいくつかの側面が異なっています。単一スレッドプロセスの場合、何かを要求する自然な方法は、制御をサブプロセスに転送する同期呼び出しを行い、完了したら制御が返され、プロセスが続行されることです。

非同期呼び出しは、非同期通信と同じように機能します。これは、何かの要求を送信するという側面で、処理が完了すると信号を返します。この用語の使い方の違いは、プロセスの場合はプロセスが並行して実行される非同期処理であり、通信の場合は並行して実行される同期通信であるということです。

"コンピュータまたは電気機械"という用語は、さまざまな手法でわずかに異なる方法で使用されているため、実際には用語の正しい定義をするには余りにも広い範囲です。

+2

+1クロック信号です。それは確かにその言葉がどこから来たかです。 –

+0

+1これが最も役に立つ答えです。これは私がかなり長い間持っていた混乱を解消しました。ありがとうございます:) – ajay

2

私は、ここでの答えのほとんどと少し違うと思う。

非同期は、「同時に発生しない」ことを意味します。スレッドの特定の場合において

  • 同期「とは、今、このコードを実行する」を意味します。
  • 非同期は、これは通常、あなたが理由のような理由により、「一度に2つのことを行う」ことを可能にする

「将来にいくつかの不確定時に実行される別のスレッドにこの作品をエンキュー」を意味します。

  • 1つのスレッドだけので、2つのスレッドを同時に実行できるようにするには、複数のプロセッサを持つ
  • 眠っている(シリアルポートに到着するデータ用など)を待っています。

128個のプロセッサコアであっても、ケースは同じです。作業は「今すぐ」ではなく「将来のある時期」に実行されます。

0

それは次のようだ:引火性、可燃性(同じことを意味)真剣

- それはちょうど英語のそれらの癖の一つです。それは本当に意味をなさない。あなたはそれを説明しようとすることができますが、逆の意味を正当化するのと同じように簡単です。

+1

どのような国! –

関連する問題