問題タブ [usleep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - スレッドでのスリープ (C / POSIX スレッド)
POSIX Threadsを利用するマルチスレッド アプリケーションを開発しています。私は定期的なジョブを実行するためにスレッドを使用しており、その目的のためにusleep(3)を使用してスレッドの実行を一時停止しています。私の質問は、メイン スレッドから usleep() タイマーをキャンセルする方法です。試してみpthread_kill(thread, SIGALRM)
ましたが、グローバルな影響があり、メイン アプリケーションが終了します (デフォルトで)。ここに私の疑似コードがあります:
そして、メイン スレッドから指定されたスレッドを停止 (および正常にシャットダウン)するために使用される疑似関数を次に示します。
私の目標を達成するための便利な方法は何ですか? 条件変数を使用する必要がありますか、それとも sleep() バリアントを使用してこれを行うことができますか?
sqlite - Adobe Air SQLite 同期ビジー タイムアウト / SQLite 同時アクセス / ビジー ループの回避
これは私の最初の投稿です。手がかりが足りず、この特定の問題について何も見つけることができなかったため、質問しています。
私の質問は次のとおりです: Adobe AIRでは、同期usleep()と同等の方法(200ミリ秒の遅延実行)を行う方法はありますか?代わりに、SQLiteのビジータイムアウトをどこかに指定する方法はありますか?
コードが SQL クエリのイベント/コールバックの必要性に対応できないため、同期モードでデータベースを使用する AIR アプリケーションがあります。
データベースは、別のアプリケーションからアクセスされてビジー状態になることがあります。したがって、ステートメントの execute() は SQL エラー 3119 詳細 2206 をスローします。この場合、コマンドは少し遅れて再試行されます。
コンピューターで別のアプリケーションが実行されているため、ビジー状態の待機を回避したいのですが、次の 3 つの理由で行き詰っています。
まず、関数 sqlite3_busy_timeout() を使用して C で可能なように、SQLConnection にビジー タイムアウト値を与える方法を見つけることができませんでした。
次に、Adobe AIR / Actionscript で C の usleep() コマンドに相当するものを見つけることができませんでした。
第三に、この場所ではイベント/タイマー/コールバックなどを使用できません。SQL execute() は、アプリケーション内の無数の場所にある深くネストされたクラスと関数から呼び出されるため、同期的である必要があります。
アプリケーションが SQL の実行中にイベント/コールバックに対処できる場合は、とにかく非同期データベースを使用するため、この問題はイベントを使用して解決することはできません。再試行は、AIR イベント処理機能を使用せずに、最下位レベルで実行する必要があります。
最低レベルのコードは次のようになります。
この関数の使用例は次のとおりです。
このコードの出力は次のようになります。
読む: アプリケーションは 1 秒間に 500 回以上ループします。アプリはバッテリーでラップトップ上で実行されるため、待機中の CPU 負荷を軽減するために、これをどうにかして 5 ループに減らしたいと考えています。
ありがとう。
-ティノ
c - アプリケーションをclock_settimeに対して回復力のあるものにする方法
アプリケーション(Linux 2.6.31で実行)は、呼び出しを使用してペースが調整されusleep
ます。ただし、日付の変更(date
シェルからの使用またはclock_settime
別のプロセスからの使用)に対しては回復力がないようです。アプリケーションがロックされないようにするために行うべき正しいことは何ですか?
edit1
アプリケーションが100ミリ秒ごとに何かを実行したいとします。ジョブが完了すると、gettimeofdayを呼び出し、残りのミリ秒を推定して次の100ミリ秒のスライスまでスリープさせてから、usleepを呼び出します。
perl - サイクル中とスリープ中
これが私のデーモンコードからのカットです:
しかし、問題は、10 秒後にのみ印刷がファイルに書き込まれることがあることです。print がファイルに書き込んでいる間、サイクルは待機せず、代わりに新しいループに進み、スリープするため、なぜそれが起こるのか知っています。print がファイルへの書き込みを終了してから次の反復に進むまで、どうすれば待機できますか?
php - PHP出力バッファベンチマーク(usleepで使用するとマイクロタイムが不正確になりますか?)
再現できる奇妙な動作を投稿します(少なくともapache2 + php5では)。私が間違っているかどうかはわかりませんが、私が達成しようとしていることを説明させてください。
バイナリデータのチャンク(たとえば30)を送信し、最後に平均Kbit / sを分析する必要があります:
各チャンク出力時間、各チャンクサイズを合計し、最後にKbit/s計算を実行します。
上記のこの例では、これまでのところ機能しています(ローカルホストでは、さまざまなテストを通じて7000から10000 Kbit / sまで振動します)。
ここで、送信を整形したいとします。これは、クライアントが1秒間処理するのに十分なデータのチャンクを持っていることがわかっているためです。
チャンク送信間の一時停止をマークするために、usleep(1000000)を使用することにしました。
この最後の例では、理由がわかりません。計算された帯域幅が72000 Kbit / sから1,200,000に跳ね上がる可能性があり、まったく不正確/無関係です。問題の一部は、チャンクが送信されるたびに(最初のusleepの後)、チャンクを出力するために測定された時間が途方もなく短いことです。
私は何か間違ったことをしていますか?バッファ出力は同期していませんか?
c++ - c++、usleep() は廃止されました。Windows/MingW の回避策はありますか?
別の質問で、Windows/MingW が廃止された usleep() に代わる nanosleep() および setitimer() を提供していないことがわかりました。しかし、私の目標は、usleep() スタイルの警告を含め、cppcheck が私に与えるすべての警告を修正することです。
それで、 cygwinを使用したり、新しい依存関係/ライブラリのロードをインストールしたりせずに、Windowsでusleep()を回避する回避策はありますか? ありがとう。
c - 浮動小数点数とスリープの問題
t->tickがfloatであるコードの一部を持つIm書き込みアプリ:
usleep にエラーがあることがわかりましたか?:
そのエラーを取り除く方法は?
php - usleep() を使用して cURL を調整する
Web サービスを使用して、何百もの http 投稿を送信しています。ただし、このサービスでは 1 秒あたり 5 回しか許可されません。usleep コマンドがこれを行うための最良の方法であるかどうか疑問に思っています。例えば:
php - スクリプトのタイムアウトを防ぐためのPHPusleep
私は大規模なディレクトリリストをロードするスクリプトを持っていますが、(その性質上)ロードするのに永遠に時間がかかります。現在、スクリプトのタイムアウトが発生している場合があります。usleepなどを使用してスクリプトがタイムアウトしないようにすることができるのか、それとも状況を悪化させるだけなのか、興味がありました。