私はシーケンシャルロジックを実行するタスクを持っており、このタスクが別のタスクからそのロジックを実行するのを止めたいと考えています。ランデブーを起こさずにこれを行う方法はありますか? タスクを中断するにはどうしたらいいですか? ありがとうございます。Adaで緊急に課題を通知するには?
1
A
答えて
3
Asynchronous Transfer of Controlを使用して、停止する部分をabortable_partに配置するか、直接abortを使用してタスクを強制終了することができます。
GNATを使用している場合、GNAT.Taskingパッケージを見ることができます。
2
一般的に、保護対象フラグなどの「チェックポイント」を使用して順次ロジックを構成する方がよい場合があります。ここで、中止する信号があるかどうかを簡単にテストできます。保護されたオブジェクトは、この種の高速テストをサポートする軽量な並行性メカニズムとして設計されています。
それ本当には、ステートメントのシーケンスでどの時点で中断する必要がありますか?ステートメントブロックまたは反復を完了し、フラグチェックを実際に容認できないものにするために必要なマイクロ秒またはミリ秒の余分なコストはありますか?どのくらいの頻度で処理シーケンスを中止する必要がありますか?
処理を途中で終了する信号をテストするための明確なチェックポイントを設定すると、シーケンスが既知の状態で終了することが保証され、何かがうまくいかない場合に正しい動作とデバッグが確認できます。
1
protected objectの中に実装することで、この操作やデータが何であれ保護することができます。
何らかのロックスキームを探しているような気がします。 Adaで保護されたオブジェクトを使用してあらゆる種類のさまざまなロック方式を実装するのはかなり簡単です。この方法では、特定のタスク間で明示的なハンドシェイクは必要ありません。
関連する問題
- 1. Beautifulsoup python error(10060)緊急
- 2. Skypeでの緊急警戒の実装?
- 3. Android APIに「緊急計画」はありますか?
- 4. 自動提案の対処法:緊急
- 5. 緊急電話番号の検出
- 6. Mac PGP WDE緊急復旧手順
- 7. UbuntuServer 16.04 VirtualBoxマシン - ネットワークインターフェイスの緊急モード
- 8. 緊急録音の音声認識
- 9. freadが早急にEOFをバイナリファイルで通知しています
- 10. gitでマスター上で緊急修正を行う方法は?
- 11. UIAlertで緊急処理を解除する
- 12. はどこに(私が緊急に必要なものである)
- 13. Googleクラウドは緊急モードでrootとしてログインします
- 14. 緊急データの送信後にTCP接続がリセットされる
- 15. 緊急修正のためにSVNリポジトリを設定する方法は?
- 16. ラズベリーパイの緊急モードはシステムに入ることができませんか?
- 17. 緊急ダイヤル付きAndroidアプリを起動する
- 18. iPhoneで緊急電話をプログラムで行う
- 19. ワーニング緊急バックエンドまたは静的エラーを提供
- 20. バックボーンjsフェッチは常にエラーfuncを呼び出します。緊急事態〜
- 21. 壊れたコマンド補完の緊急オーバーライドをbashで行うか?
- 22. 緊急時にeslintを無効にするにはどうすればいいですか?
- 23. gotoのないPythonでの緊急出口
- 24. Javaアウトオブバンド(「緊急データ」と呼ばれる)データ
- 25. 緊急モードでデータベースを設定するにはどうすればよいですか?
- 26. このプログラムを患者名と緊急度の順に印刷する方法を変更するには?
- 27. 緊急時に切り替えるためにmysqlデータベースのミラーを作成するには?
- 28. マスターブランチでのコードレビュープロセスに関する課題
- 29. ローカル通知に関する問題
- 30. UIKeyboardWillShow通知に関する問題
人々が情報に応じた回答をする前に、より詳細な情報を提供したい場合があります。 – NWS