偶然見つけてtime_nanosleep()
疑問に思い始めました。いつこれを使いたいですか?
また、PHP のようなスクリプト言語で、このような短いタイムスパンで作業することは可能でしょうか?
偶然見つけてtime_nanosleep()
疑問に思い始めました。いつこれを使いたいですか?
また、PHP のようなスクリプト言語で、このような短いタイムスパンで作業することは可能でしょうか?
いいえ、1 ナノ秒で作業することはできません。Linux でのコンテキスト スイッチのみが通常数百ナノ秒単位であり、Zend エンジンからのオーバーヘッドは含まれません。
PHP のソース コードを確認したところ、C の nanosleep 関数の単純なラッパーにすぎません。nanosleep の man ページには次のように書かれています。
nanosleep() は、少なくとも *req で指定された時間が経過するまで、呼び出しスレッドの実行を中断します。
...
sleep(3) および usleep(3) と比較して、nanosleep() には次の利点があります: スリープ間隔を指定するためのより高い解像度を提供します。
したがって、間隔をどれだけ小さく指定するかがすべてです。usleep はマイクロ秒 (数千ナノ秒) で指定されるため、非常に短いスリープ間隔には基本単位が大きすぎる場合があります。