Pilot in command><(「機長として操縦」の方の意味の機長><(つまり資格じゃない方><))
https://en.wikipedia.org/wiki/Pilot_in_command
https://mstdn.nere9.help/@orange_in_space/101373833470580965
https://mstdn.nere9.help/@orange_in_space/101373839930359874
それ非決定性が超アレなので、よほど言語側でうまく対応しない限りは「非同期変数に対応するアトミックなフラグをビジーループや条件変数で監視する」とか「並列キューでメッセージ到達をポーリングで監視」みたいな運用になるし、たぶん RTOS 上のインターフェースもそんな感じでは
並列プログラミング、かつ、任意のタイミングでも処理を開始できて、待つ事も出来て、待つのをあきらめる事もできて、かつ(普通の環境だと無理があるけど)、結果の状態に(処理後の状態)書き換わる処理は明示的にのみ行われ十分にとても短い時間で出来て、書き換える前は書き換わる前の値を返す事もできる
みたいなのをVerilog HDLのノンブロッキング代入文を見ててなんかこう・・・><
https://mstdn.nere9.help/@orange_in_space/101372465027238430
これの実験コード、かなり酷いけど一応書いたのでせっかくなのでpaiza ioに><;
C#で439行のコード書いたよ!ブラウザ上で実行できるよ! https://paiza.io/projects/F0NiGRwETVCfnDvllvuFEA
これ、目的を考えると
fuga = hoge <= false;
って書かれてしまったらhogeの中身が破棄されない(hogeもfugaも同じハードウェアリソース等を参照する事になるかも?)ので危険かも><;
演算子の変わりに型で明示的な型変換したやつを暗黙の型変換でどうにかする手も?><;
hoge=true;//普通に代入
hoge=(NonBlockingRightSide)true;//ノンブロッキング代入もどき
とか?><;