1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

同期処理と非同期処理について

Last updated at Posted at 2025-01-07

はじめに

非同期処理について理解しているつもりでしたが、最近の学習や実装を通じて理解がさらに深まりました。その過程を整理するために記事にしました。

この記事は個人的なアウトプットを目的として作成したものです。そのため、誤った情報や不足している内容が含まれている可能性があります。もし間違いや気になる点がございましたら、ぜひご指摘いただけますと幸いです

同期処理と非同期処理

同期処理

同期処理とは、複数の処理を順番に実行し、ひとつの処理が完了してから次の処理を始める方式です。このため、前の処理が終わらなければ後の処理は待機します。

例: 電話のやり取り
電話は同期処理の良い例です。自分が電話をかけ、相手が受けることで通信が成立します。しかし、相手が電話を取らなければ通話は成立しません。このように、ひとつの処理(電話を受ける)が完了しない限り、次のステップに進むことができません。

メリット
実行順序が明確で直感的に理解しやすい。
シンプルな処理では実装が簡単。

デメリット
処理待ちが発生するとパフォーマンスが低下する。
ユーザー体験(UX)が悪化する場合がある。

非同期処理

非同期処理では、ある処理が完了するのを待たずに次の処理を実行できます。処理が完了した際にはコールバックやプロミスを使用して結果を受け取ります。

例: メールの送信
メールの送信は非同期処理の良い例です。送信者がメールを送ると、その内容はサーバーに送信され、相手がそのメールを読むかどうかに関わらず、送信者は他の作業を進めることができます。

メリット
同時に複数の処理を進行させることで効率的に動作。
処理待ちが発生しても他のタスクを続行できる。

デメリット
実装が複雑になりがち。
処理順序の把握が難しい場合がある(特にネストが深い場合)。

終わりに

非同期処理について、Reactの学習を進める中でようやく理解が深まってきたと感じています。まだまだ課題も多いですが、引き続き実践を重ねて、さらに応用力を高めていきたいと思います。

参考

1
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?