問題タブ [thread-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.

0 投票する
6 に答える
30307 参照

c# - アプリケーションの実行中にループでスリープしますが、スリープが少なすぎます

なぜ機能しThread.sleepないのですか。私はいつもメッセージを待っています。そのアプリケーションが 10 分待ってから、もう一度続行することを望みます。

0 投票する
3 に答える
11067 参照

c# - Is it sane to use Thread.Sleep(int) in ASP.NET or should I use another method?

I want to introduce a slight wait during some testing functions, to simulate a server call. Is it sane to use Thread.Sleep(int) to introduce the wait or is there a better method to have the server wait?

Note, I'll be pausing long enough for me to visually see a sufficient lag, even tho I don't expect to see such a delay in the actual app. This is for me to visualize the actual delay that could occur.

I plan on running this both in the VS2010 local debugger webserver and in IIS 7. I'm on .NET 3.5

0 投票する
3 に答える
2071 参照

java - 安定したゲームエンジンループを作成しようとしています

私はかなり単純な2Dマルチプレイヤーオーバーネットワークゲームを書いています。今のところ、安定したループを作成することはほぼ不可能だと思います。安定とは、特定の計算が行われ、厳密な期間にわたって繰り返されるような種類のループを意味します(たとえば、25ミリ秒ごとに、それが今私が戦っているものです)。私はこれまで、これを除いて多くの深刻な障害に直面していません。

このゲームでは、サーバーアプリケーションとクライアントアプリケーションの両方でいくつかのスレッドが実行され、さまざまなタスクに割り当てられています。サーバーアプリケーションのエンジンスレッドを例にとってみましょう。このスレッドでは、ゲームの計算にかかる時間を考慮して、Thread.sleepを使用してゲームループを作成しようとしています。これがrun()メソッド内に配置された私のループです。Tick()関数はループのペイロードです。これには、ゲームを定期的に更新する他のメソッドへの順序付けられた呼び出しが含まれているだけです。

<...>

主な問題は、Thread.sleepが、どれだけスリープするかについての期待を裏切るのが大好きなことです。特にWindowsXPを搭載した一部のマシンでは、スレッドをはるかに長い時間またははるかに短い時間で簡単に停止できます(私は自分でテストしましたが、WinXPはWin7や他のOSと比較して非常に厄介な結果をもたらします)。私はインターネットをかなり調べてきましたが、結果は期待外れでした。実行しているOSのスレッドスケジューラと、いわゆる粒度のせいのようです。私が理解している限り、このスケジューラーは、一定の時間にわたって、システム内のすべてのスレッドの要求を常にチェックし、特に、スレッドをスリープ状態から復帰させます。再確認時間が1msのように短い場合、スムーズに見える場合があります。ただし、WinXPの粒度は10〜15ミリ秒と言われています。また、Javaプログラマーだけでなく、しかし、他の言語を使用している人もこの問題に直面しています。これを知っていると、安定した、頑丈で、信頼できるゲームエンジンを作ることはほとんど不可能のようです。それにもかかわらず、彼らはいたるところにいます。どういう意味でこの問題と戦ったり回避したりできるのだろうかと非常に思っています。もっと経験豊富な人が私にこれについてのヒントを教えてもらえますか?

0 投票する
1 に答える
17934 参照

android - forceLayout()、requestLayout()

Androidのドキュメントを読んだところ、メソッド forceLayout() (次のレイアウト要求でレイアウト表示を生成するためのもの) と requestLayout() (即時のレイアウト要求を投稿することになっている) が見つかりましたが、それらを動作させることはできません宣伝どおり。特に、Thread.Sleep の前に 1 つのテキストを設定し、その後に 1 つのテキストを設定すると、両方のテキストを一度に設定する前に Sleep が終了するのを待ちます。UI スレッドで Thread.Sleep を呼び出してはならない方法について、多くのナンセンスで応答しないでください。Thread.Sleep を CountDownTimer でラップすると、完全にうまく機能します (スリープ時間を妨げないほど十分に短いティック時間と、スリープが終了するのに十分な長さのタイマーの期間がある限り。以下は次のとおりです。例:

0 投票する
4 に答える
2454 参照

c# - UIの応答性を維持するThread.Sleepの代替?

これはすべて、Visual Studio 2008 の C# で行っています。

ユーザーがアルゴリズムの動作を監視できるように、アルゴリズムの動作を遅くしたいと考えています。GUI に表示される定期的な変更があるためThread.Sleep、すべてのインスタンスの後に追加しました。

問題は、Thread.Sleep少なくとも 1 秒に設定すると、Thread.Sleep(数回のループの後) のいくつかのインスタンスの後、単に GUI 全体をフリーズさせ、プログラムが完了するまでそのままにしておくことです。すぐにではありませんが、常に発生します。どのくらい早く睡眠の長さに依存します。

プログラム全体がフリーズしないという証拠があります。それは機能しており、スリープでも正しい長さの一時停止が行われています。しかし、アルゴリズムが終了するまで、特定の時点で GUI がフリーズし、その時点で正しい最終状態が表示されます。

この問題を解決するには?特定の時点でアルゴリズムを一時停止する代わりに?

0 投票する
2 に答える
1372 参照

java - Thread.sleep を使用して単純なドロップ アニメーションを表示する方法は?

私はゲーム ボードを作成しています。ゲーム ボードのアニメーションを表示したいと思います。アニメーションは、このようにオブジェクトがドロップダウンします。


time=0
○○○<br> ○○○<br> ○○○<br> ○○○<br> time=1
●○○<br> ○○○<br> ○○○<br> ○○ ○<br> time=2
●○○<br> ●○○<br> ○○○<br> ○○○<br> time=3
●○○<br> ●○○<br> ●○○< br> ○○○<br> time=4
●○○<br> ●○○<br> ●○○<br> ●○○


しかし、私は欲しいものを得ることができません.time=4を直接示し、time=0-3のステップを逃しました.何が問題なのですか? どうすれば修正できますか?またはそれを行う他の簡単な方法はありますか?ありがとうございました。
drawBoard メソッド:

ただし、コードを実行すると、出力は次のようになります。


time=0,1,2,3
○○○<br> ○○○<br> ○○○<br> ○○○<br> time=4
●○○<br> ●○○<br> ●○ ○<br> ●○○


0 投票する
5 に答える
3655 参照

.net - VB.net の一貫性のないスレッド スリープ タイマー

わかりましたので、私はVB.netで遊んでいて、前のスレッドがその作業を行うのにかかった時間に関係なく、60秒ごとに確実にスレッドを起動する方法をブレインストーミングしてきました。これが私の質問です。次のコードがあるとします。

これを stream.txt ファイルに生成します。

この出力に対する私の仮定は、各行間の時間は正確に 5000 ミリ秒に、残りのループの実行にかかる時間を加えたものでなければならないということです。これは、ディスク IO による未知の遅延が発生する可能性があるため、変動する可能性があります。私の問題は、10 行目と 11 行目を見て減算すると、4,958 ミリ秒の差が生じることです。それで私の質問は、一体何が起こっているのですか?プロセスを完了する前にスレッドに 5000 ミリ秒スリープするように指示した場合、5000 ミリ秒未満の差を得るにはどうすればよいでしょうか。私は何が欠けていますか?

0 投票する
2 に答える
259 参照

c++ - スレッド化されたアプリケーションのsleepコマンド

WindowsのSleep(ms)コマンドにより、スレッドはタイムスライスを解放しています。スレッドを停止するがタイムスライスを解放しない同等のSleep(ms)コマンドはありますか?

0 投票する
1 に答える
524 参照

java - Java Zork Clone が正しくループしないのはなぜですか?

Zork クローンを作成していますが、ループするたびに Eclipse でエラーが発生します。