LoginSignup
1
0

【JavaScript】同期通信と非同期通信の違い

Posted at

同期通信・非同期通信とは

同期通信と非同期通信は、コンピュータサイエンスやネットワーキングの文脈で使われる用語で、それぞれ異なる動作や処理の方式を指します。

同期通信(Synchronous Communication)

  • 同期通信では、処理が順番に実行され、次の処理は前の処理が完了するのを待ちます。つまり、一つの処理が終了するまで次の処理が開始されません。
  • シンプルで直感的なプログラミングが可能ですが、処理が完了するまで他のタスクを実行できないため、効率が悪い場合があります。
  • 典型的な例は、関数の呼び出しやファイルの読み込みなどです。

非同期通信(Asynchronous Communication)

  • 非同期通信では、処理の完了を待たずに次の処理が開始されます。つまり、複数のタスクが同時に実行され、結果が返ってくるまで待つ必要がありません。
  • ファイルの読み込みやネットワークリクエストなど、長時間かかるタスクを効率的に処理するために使用されます。
  • 典型的な例は、コールバック関数やプロミス、非同期関数(async/await)などです。

以下は、同期通信と非同期通信の例です。

同期通信の例(JavaScript)

console.log("Start");
function syncFunction() {
    console.log("Sync function");
}
syncFunction();
console.log("End");
//Sync function
//End

非同期通信の例(JavaScript)

console.log("Start");
setTimeout(function() {
    console.log("Async function");
}, 2000);
console.log("End");
//End
//Sync function

非同期通信の場合、setTimeout関数は2秒後に実行されますが、console.log("End")はそれを待たずにすぐに実行されます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0