実際、この質問は次の質問に関連しています: PHP でスケジュールされた通知とリリースを時間通りに行うにはどうすればよいですか?
昔、先生は「コードを書くときに無限ループを絶対に書いてはいけない」といつも言っていました。これが最大のバグです。この概念が常に心に刻み込まれているので、あらゆる種類の無限ループを見ると、すべてを感じます。一種の軽蔑と巻き込み。
しかし、実際には多くのものが無限ループを使用していることがわかりました:
php-resque 中に無限ループがあって、見た瞬間に好感度が一気に下がりました
ブラウザの動作原理を確認すると、JS のイベント ループは実際には無限ループであり、カーネル コード C も無限ループのようです
……
無限ループにどれだけのものが入っているかわかりません
私たちのコンピュータは電源を入れてから無限ループに入っているというのは本当ですか? CPU が単に無限ループで動作しているだけなのでしょうか?これを明確にするのを手伝ってください。私は今とても混乱しています。無限ループがなければ、コードは実際には機能しません。誰も Web サイトにアクセスしなければ、コードは機能しません。どのようなイベント/シグナルがコールバックをトリガーするのか、そしてそれらはどのように実装されているのでしょうか? それは無限ループでもあるのでしょうか?
それとも、私たち人間は、絶えず情報を受け取り、フィードバックを与えるという無限ループの中にいます。そうでない場合、もしあなたが私に電話してすぐに応答できたとしても、あなたが私に通知したのは本当にあなただと思いますか? あなたには電話する能力がありますか?私が戻ってきましたか?面白い!聞いてました、いいですか?
神様が混乱を解消してくださることを願っています ^_^
補充:
この情報を読んでいると、次のような言葉がよく出てきます:
libevent
libev
PCNTL
イベントループ
timerfd
epoll
kqueue
select
poll
私の疑問を解決するために助けてください。どのような情報とどの本を読むべきですか?「Linux/UNIX ネットワーク プログラミング」
###ありがとう!
継続的な作業は無限ループですか? OS は CPU の実行時間を断片化し、それを別のプロセスに割り当てます。時々、OS は制御を取り戻し、再び送信し、このようなサイクルが続きます。
しかし、このループは死んでいないので、
关机
をクリックすることでループを終了できます。はい、Eventloop には継続的な監視が必要ですが、これはこの方法でのみ実現できます。そして、私たちが目にするものは
事件发生
=>执行回调
とても自然なことですが、これは抽象化です。しかし、これは死んだわけではないので、ブラウザを閉じてこのサイクルを終了することができます。
人間は無限ループというよりはステートマシン (FSM) に近いと思います。
入力に応じて状態を変化させ、値を出力する(人間対話)
人間の脳が命令を順番に実行するかどうかはわかりませんが、人間は、運転、料理、聞く、話す、さまざまな言語での読み書きなど、境界があいまいな物事を扱うことができます。別のことを考えてください。つまり、割り込み信号がたくさんあります。いつでも禁止できるため、無限ループなどというものは存在しないのかもしれません。
コンピュータの構成とオペレーティングシステムの原理と実装を見てみてはいかがでしょうか?
「Ruby Metaprogramming」の一文がとても良いので、ここに載せるのが適切だと思います
無限ループについても同じことが言えると思います。それは、それをどのように使用するかによって決まります。より良い解決策が存在する場合は、コードの優雅さが重要です。同様に重要なことですが、無限ループはまったく存在せず、常にループのみが存在します。
無限ループ != 無限ループ != 空のループ
無限ループはバグであり、スタックの原因となります
イベントループなどの無限ループ
スピン待機などの空のループ
実際、サイクルから抜け出すために自殺することもできます説明しないでください
乱暴に考えないでください、ナンセンスで哲学について話すのは非常に中流階級の行動です
民間の哲学者になるのはやめてください
マイクロコントローラーのコードを書いたことがありますか?
しばらく(1)です
電源オフまたは割り込みで終了
ウォッチドッグもあります
オペレーティング システムは無限ループと考えることができます
この質問は壮大すぎて説明するのが難しいです
しかし、プログラミングを学ぶときは、不必要な無限ループを避けるように努めるべきです。手順には始まりと終わりがあり、考え方が明確であることが最善です。
無限ループというよりは、メタ ループには他のループと同様に始まりと終わりがあると言った方が適切ですが、他のループはメタ ループの一部であり、それを通過すると消滅します。無限ループが終わると元の地点に戻ります。