1. ホーム
  2. asynchronous

[解決済み] 非同期実行と同期実行、その主な違いは?[クローズド]

2022-03-19 13:19:16

質問

非同期実行と同期実行の違いは何ですか?

どのように解決するのですか?

同期的に何かを実行する場合、そのタスクが終了するのを待ってから別のタスクに移ります。非同期で実行する場合は、そのタスクが終了する前に別のタスクに移ることができます。

つまり、コンピュータの文脈では、プロセスやタスクを別のquot;スレッドで実行することに変換されます。オペレーティングシステムは複数のスレッドを管理し、スレッドにプロセッサ時間の一部を割り当ててから、別のスレッドに切り替えて作業をさせることができます。プロセッサの核心部分(失礼)は、単にコマンドを実行することであり、一度に2つのことを行うという概念はない。オペレーティングシステムは、異なるスレッドに時間のスライスを割り当てることによって、これをシミュレートしています。

ここで、複数のコアやプロセッサーを導入すると、実際に物事を同時に行うことができるようになります。オペレーティングシステムは、最初のプロセッサ上のスレッドに時間を割り当てた後、別のプロセッサ上の別のスレッドに同じ時間ブロックを割り当てることができます。 これはすべて、あなたがコードを書いて他のことをやっている間に、オペレーティングシステムがタスクの完了を管理できるようにするためのものです。

非同期プログラミングは、物事を同時に行うことができたときにどのように結びつくかというセマンティックスのため、複雑なトピックです。このテーマに関する記事や書籍は数多くありますので、ご覧になってみてください。