問題タブ [sleep]
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.
java - タイマーとTimerTaskとJavaでのスレッド+スリープ
ここで同様の質問がありましたが、満足のいく答えはありませんでした。質問をもう一度言い換えると-
定期的に(たとえば1分間隔で)実行する必要のあるタスクがあります。スリープを伴う無限ループを持つ新しいスレッドを作成するのとは対照的に、Timertask&Timerを使用してこれを行うことの利点は何ですか?
timertaskを使用したコードスニペット-
スレッドとスリープを使用したコードスニペット-
ロジックの実行にインターバル時間がかかる場合、特定のサイクルを見逃しても心配する必要はありません。
これについてコメントしてください。
更新:
最近、TimerとThread.sleep()の使用に別の違いがあることがわかりました。現在のシステム時刻が11:00AMであるとします。何らかの理由でシステム時刻を10:00AMにロールバックすると、タイマーは11:00 AMに達するまでタスクの実行を停止しますが、Thread.sleep()メソッドは支障なくタスクの実行を続行します。これは、これら2つの間で何を使用するかを決定する際の主要な意思決定者になる可能性があります。
iphone - 睡眠機能の代替
私は自分のアプリケーションに以下を実装しました。
これは、型sleep
の引数を持つ関数unsigned int
です。
Sleepメソッドは、秒を使用してスリープします。
スリープするタイミングをミリ秒単位で指定したいと思います。
利用できる最良の代替案はどれですか?
iphone - forループの実行ではiPhoneでのタッチは許可されません
Ok。タイトルがわかりにくいかもしれません。
私が実装したロジックはこんな感じです。
- アプリケーションに検出器があります(自転車の速度計のように-動く矢印)
- ユーザーがスキャン開始ボタンをタップすると、最初のメソッドが実行されます。
- NowStartMovementsは、停止するランダムな回転と乱数を決定します
- 検出器には1から10の数字があります。
- 今まではすべてうまくいきました。
- 次のコードはエラーがありません。
矢印は完全に移動し、適切な位置で停止します(ランダムに決定)
しかし、問題は「ムーブメントのforループを実装した」ということです。
- したがって、forループの実行中は、ユーザー操作は有効になりません。
実装したコードも追加しました。
cocoa - CPUパワーを使用しないココアロック
ロックしようとしたときに1つのCPUを使用せず、別の場所でロックされているカカオのロックが必要です。カーネルスケジューラに実装されているもの。
java - Thread.sleep() が呼び出されると子プロセスが停止します (Windows の Java で)
ProcessBuilder を使用して外部プロセス (Internet Explorer) を起動する Java アプリケーションがあります。奇妙なことに、親 Java スレッドが Thread.sleep を呼び出すと、この子プロセスがフリーズします。Firefox などのすべてのプロセスで発生するわけではありませんが、IE では常に発生します。
何か案は ?
PS Robot.delay() を同じ効果で試しました
java - メソッドscheduledExecutorService.scheduleAtFixedRate()は、どのようにしてリアルタイムの実行を保証しますか?
タイムクリティカルなタスクを毎秒実行しているため、いくつかの方法を比較して、タスクが実際に固定の時間ステップで実行されるようにするための最良の方法を見つけました。すべてのメソッドのエラーの標準的な導出を計算した後、そのメソッドを使用するscheduledExecutorService.scheduleAtFixedRate()
と最良の結果が得られるように見えますが、なぜそうなるのかわかりません。
そのメソッドが内部でどのように機能するかを誰かが知っていますか?sleep()
たとえば、参照されたタスクが実際に固定の時間ステップで実行されることを単純に確認するのと比較して、どのようにすればよいでしょうか。
c# - Thread.Sleepのない共有オブジェクトプール?
私は「オブジェクトプール」を開発しましたが、「悪い習慣」であるThread.Sleep()を使用せずにそれを行うことはできないようです。
これは、私の他の質問「.netに独自の接続プールを実装する標準的な方法はありますか?」に関連しています。オブジェクトプールの背後にある考え方は、データベース接続に使用される接続プールの背後にある考え方と似ています。ただし、私の場合は、標準のASP.NET Webサービス(IIS6で実行)で限られたリソースを共有するために使用しています。これは、多くのスレッドがこの限られたリソースへのアクセスを要求することを意味します。プールはこれらのオブジェクトをディッシュし(「Get」)、使用可能なすべてのプールオブジェクトが使用されると、次のスレッドは、これらのオブジェクトの1つが再び使用可能になるまで、設定された時間だけ待機します(スレッドはオブジェクトで一度実行された「プット」)。この設定時間内にオブジェクトが使用可能にならない場合、タイムアウトエラーが発生します。
コードは次のとおりです。
それを使用するには、次のようにします。
今私が持っている質問は次のとおりです:Thread.Sleep()を取り除くためにこれをどのように書くのですか?
(これを実行したいのは、テストで取得している「false」タイムアウトの原因であると思われるためです。テストアプリケーションには、3つのオブジェクトを含むオブジェクトプールがあります。12スレッドをスピンアップし、各スレッドが取得します。プールからオブジェクトを100回取得します。スレッドがプールからオブジェクトを取得した場合、2,000ミリ秒の間保持し、取得しなかった場合は次の反復に進みます。ロジックは、9つのスレッドが待機することを指示します。 9 x 2,000msは18,000msで、これはスレッドがオブジェクトを待機する必要がある最大時間です。gettimeoutは60,000 msに設定されているため、スレッドはタイムアウトしません。間違っていて、そのThread.Sleepが疑われます)
c - select()を使用して無限ループでnanosleepを使用することは可能ですか?
ループを使用してソケットとの間でrecv/send操作を実行し、ファイル記述子を監視するCプログラムがあります。80ミリ秒ごとにパケットをパケットに送信するには、このプログラムも必要ですが、これを実装するにはどうすればよいですか?たぶん私はを使用することができ、子プロセスは80ミリ秒ごとに監視されるファイル記述子の1つにackを書き込むだけです。より良い解決策はありますか?for(;;)
select()
fork()
select()
iphone - アプリ内からidleTimerDisabledブール値をオン/オフできますか?
たとえば、メニュー画面のあるゲームがあり、次にゲーム自体があります。ゲームのプレイ中はタイマーを無効にしますが、メニュー画面では有効にします。現在、タイマーを無効にするアプリデリゲートに次のコードがあります。
どんな助けでも大歓迎です。
winapi - SetThreadExecutionState(ES_SYSTEM_REQUIRED)がディスプレイの電源オフを妨げるのはなぜですか?
ディスプレイの電源をオフにしながらシステムをオンにしたままにして、システムが無人のときにダウンロードを終了できるようにしようとしています。これを達成するために私は呼びます:
ダウンロードからデータを取得するときはいつでも。ただし、これによりディスプレイの電源が切れるのを防ぐようです(ディスプレイは設定された調光タイマーごとに調光しますが、完全にオフになることはありません)。MSDNエントリによると、これは私も合格した場合にのみ発生するはずですES_DISPLAY_REQUIRED
-とにかくブロックされているのはなぜですか?
呼び出しを停止SetThreadExecutionState
しても、ディスプレイの電源が再びオフにならないことに注意してください。表示をオフにするには、プログラムを終了する必要があります。ES_CONTINUOUS
ただし、 ?で呼び出された場合にのみ効果が持続するのではないでしょうか。
重要な場合は、Windows7を使用しています。現在、他のバージョンでテストすることはできません...