次のリンクで半同期/半非同期パターンについて読んでいます。
http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf
http://www.cs.wustl.edu/~schmidt/PDF/HS-HA.pdf
これについては、セクション 8.2 で言及されています。短期間のタスクを識別し、非同期 I/O を使用してそれらを実装します。
リアクティブでパッシブなオブジェクト モデルを使用して、これらの短期間のタスクを実装します。パッシブ オブジェクトは、他の場所 (呼び出し元や別の割り込みスタックなど) から制御のスレッドを借用します。したがって、これらのタスクは長時間ブロックできないため、非同期 I/O を使用する必要があります。ブロックしない主な理由は、他のシステム タスクに適切な応答時間を確保することです。
私の質問は
- ステートメントの上の別の割り込みスタックからスレッドを借用すると、著者は何を意味しますか?
単純なプログラミングの必要性: 非同期 I/O モデルのプログラミングは、入出力操作が割り込みによってトリガーされるため、複雑になる可能性があります。非同期は、制御の現在のスレッドが割り込みハンドラーによってプリエンプトされるときに、微妙なタイミングの問題と競合状態を引き起こす可能性があります。さらに、割り込み駆動型プログラムには、ランタイム スタックに加えて追加のデータ構造が必要です。
aysnc が微妙なタイミングの問題を引き起こすという著者の意味は何ですか (リクエストの例はこちら)?
割り込み駆動型プログラムがランタイム スタックに加えて追加のデータ構造を必要とする理由。
一般に、著者はシグナルまたは割り込みを非同期およびマルチスレッド、マルチプロセスを同期として言及していますか? なんで?
私は aysnc の概念が初めてなので、ここであなたの助けが必要です.
お時間をいただきありがとうございます。