[解決済み] 何が違うの?非同期、ノンブロッキング、イベントベースアーキテクチャの違いとは?
質問
-
何が違うのでしょうか。
- 非同期 ,
- ノンブロッキング そして
- イベントベース アーキテクチャは?
-
何かが 非同期 と ノンブロッキング (そして イベントベース )?
-
プログラミングで最も重要なことは、非同期、ノンブロッキング、イベントベース(あるいは3つとも)の何かを持つことですか?
例を提示していただけると助かります。
この質問をするのは、私がこの素晴らしい スタックオーバーフロー を読みましたが、上記の私の質問には答えてくれませんでした。
どのように解決するのですか?
非同期 Asynchronousは文字通り同期でないことを意味します。電子メールは非同期です。メールを送ったら、すぐに返事が来るとは限りません。しかし、ノンブロッキングではありません。基本的には、すぐに応答が返ってくることを期待せずに、コンポーネント同士がメッセージを送り合うようなアーキテクチャを意味します。HTTPリクエストは同期型です。リクエストを送信し、レスポンスを取得します。
ノンブロッキング この用語は主にIOで使われます。この意味は、システムコールを行うとき、スレッドをスリープさせることなく(高い確率で)その結果を持ってすぐに戻るということです。たとえば、ノンブロッキングのリード/ライトコールは、できる限りのことをやって戻り、呼び出し側が再びコールを実行することを期待します。これは、ロックを獲得できる場合にのみロックする。システムコールの通常のセマンティクスはブロッキングです。読み出しは、いくつかのデータを持って、呼び出しスレッドをスリープ状態になるまで待機します。
イベントベース select/epoll/IOCompletionPort などは、これらの呼び出しがいつ興味深いデータを返すかをOSから知るためのさまざまなメカニズムです。ノンブロッキング IO は、Event-base と密接に関係しています。
これらの用語は重複していると思います。例えば、HTTPプロトコルは同期ですが、ノンブロッキングIOを使用したHTTP実装は非同期にすることができます。また、read/write/try_lockのようなノンブロッキングAPIコールは同期ですが、quot;データ処理"は非同期です。
関連
-
[解決済み] 静的型付け言語と動的型付け言語の違いは何ですか?
-
[解決済み] 非同期呼び出しとノンブロッキング呼び出し? ブロッキングと同期呼び出しの間にも
-
[解決済み] 好きな言語の嫌いなところを5つ教えてください。[閉じる]
-
[解決済み】非同期プログラミングとマルチスレッドの違いは何ですか?
-
[解決済み] Node.jsのノンブロッキング、非同期I/Oとは何ですか?
-
[解決済み] 手続き型と関数型の違いを真に理解するために
-
[解決済み] ある言語がスクリプト言語とみなされるのはどのような場合か?[クローズド]
-
[解決済み] アセンブリ言語を学ぶ価値はあるのか?[クローズド]
-
[解決済み] バニラとはどういう意味ですか?
-
[解決済み] asyncioとtrioの決定的な違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ダックタイピングとは何ですか?
-
[解決済み] 非同期呼び出しとノンブロッキング呼び出し? ブロッキングと同期呼び出しの間にも
-
[解決済み] なぜ関数型言語なのか?[クローズド]
-
[解決済み】NULLのない言語についての最適な説明
-
[解決済み] 宣言型プログラミングとは?[クローズド]
-
[解決済み] スカラーとプリミティブのデータ型 - 同じものなのか?
-
[解決済み] Node.jsのノンブロッキング、非同期I/Oとは何ですか?
-
[解決済み】戻り値型による関数のオーバーロード?
-
[解決済み] スニペットからプログラミング言語を検出する【終了しました
-
[解決済み] バニラとはどういう意味ですか?