問題タブ [system.timers.timer]
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# - Winservice - タイマー: 同じタスクが並行して実行されている
それぞれの後にアクションを実行する Window-Service を作成しました。タイマーを次のように宣言しました。
気付いたこと: (WCF サービスまたはサーバーの問題が原因で)PerformAction()
私よりも時間がかかる場合は、新しいのが起動されて実行されます。したがって、は互いに2 回 (および ) 実行されます。interval
'instance'
PerformAction
PerformAction
parallel
これの原因は何ですか?なぜ前回PerformAction
はキャンセルされないのですか?メソッドPerformAction
は実行されていAsync
ますか?
回避策を見つけましたが、動作がわかりません...
c# - UIスレッド制御ステータスに基づくWPF非UIスレッドデータの更新
wpf アプリケーションを作成しました。これには、タイマーを開始および停止するための 1 つのチェック ボックスと 2 つのボタンがあります。チェックボックスがオンになっていても、メッセージが False として表示されます。次のコードを使用しました
誰かが提案する.......
c# - 関数のスコープ内で宣言されたタイマーのクリーンアップはどのように管理する必要がありますか?
次のコードでは、 aTimer
が関数内で宣言されており、Elapsed
イベントもサブスクライブしています。
関数が完了すると、 への参照Timer
は失われます (推測します)。
オブジェクトが破棄されると、イベントは自動的に登録解除されますか?Elapsed
そうでない場合、Elapsed イベント自体でイベントの登録を解除できますか?
このアプローチでは、オブジェクトの適切なクリーンアップが引き続き許可されますか、またはこの理由で関数のローカル スコープでタイマーを宣言しないでください。
c# - C# System.Timers タイマー イベントが後続のイベントをブロックしないようにするにはどうすればよいですか?
関数を繰り返し呼び出す System.Timers タイマーを使用する C# アプリケーションがあります。問題は、ワークロードによっては、関数呼び出しからの処理が特定の CPU 使用率 (98 ~ 100%) に達すると、後続のイベントがブロックされることです。
イベントがブロックされないように、このようなシナリオを防ぐ方法はありますか?
たとえば、タイマーのイベント ハンドラーは動的コードを実行する関数であり、処理に時間とリソースがかかる場合があります。このような処理中にブール値が true に設定され、後続のイベント呼び出しがログ ファイルに書き込まれます。ただし、イベントの処理で CPU 使用率が高くなると、それ以上のイベントはログ ファイルに書き込まれません。
c# - Windows サービスの例外処理とタイマー
System.Timers.Timer に問題があります。正確には例外をスローしません。これが私のコードです:
したがって、私のイベント ログには、「FakeExceptionForTestPurposeOnly: ログに記録されます!」というメッセージが表示されます。しかし、それは唯一のものです!
結局のところ、さらに悪いのは、まだ実行中のサービスです。それはどのように可能ですか?
私はすでに問題を解決していることに注意してください。その場合、タイマーの使用は必須ではありません。System.Threading.Thread はそのトリックを実行し、時計仕掛けとして機能します。私はちょうど興味があると思います...
問題は、MyTimer_Elapsed() で UnhandledExceptions が発生したときに、「CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)」が発生しないのはなぜですか?
ヘルプ、提案、コメントをいただければ幸いです
c# - .txt の保存にかかる時間は?
現在、ネットワーク パスを監視する FileSystemWatcher を含むプログラムを作成しています。
ファイルはすべて .txt です。ほとんどのファイルは 200k から 3 MB の間です。ファイルがコピーされるのではなく、監視フォルダーに直接保存されるとエラーが発生するため、この回答に基づいてタイマーを構築しています。
FileSystemWatcher は、ファイルが保存される前に起動します - どのようにプロセスを「一時停止」しますか?
ここで質問があります。これらのイベントを非常に高速に処理する必要があるため、ユーザーが言及した 1000 ミリ秒を実際に使用する必要がありますか、それともより低い値で問題ありませんか? より具体的には、一方では速く、他方ではまだ保存するために選択する必要がある最小値は何ですか?
多分私の問題に対するより良い解決策がありますか?
€: https://stackoverflow.com/a/3822355/3664953を解決策として使用することにしました。一度にいくつかのファイルを処理しなければならない可能性があるため、これを TPL で使用することにしました。イベントで使用するコード:
速すぎるために例外に遭遇しないように私が使用するコード:
現時点で私が遭遇する唯一の問題は、作成/コピーされたファイルが100個ほどある場合、信じられないほど遅くなり、後でMSSQLがタイムアウトを返すことです。しかし、それは私が処理しなければならない問題ではありません:)
私を正しい方向に向けてくれた Ty ネオリスク。
c# - Timers.Timer の static List<> の内容が他のメソッドを反映していない
私は現在、カスタム オブジェクトの静的リストを持っています (ただし、int のリストでもテストしました)。このリストを 2 つの方法で変更しています。
- Button_Click イベント
- 5 分ごとに経過する System.Timers.Timer
問題は、アプリケーションの開始時に両方のメソッドに対して List が初期化され、独立しているように見えることです。つまり、#1 に要素を追加しても、#2 には反映されません。Timers.Timer が別のスレッドで開始されているためだと思いますか?
その場合、プリミティブ int も入れてみました。その場合、数値は両方で変更され、相互に反映されます。問題は、オブジェクトの動的リストであるという事実によるものですか?
あなたは私が何をすることをお勧めしますか?
ありがとうございました!
以前にコードを投稿できなかったことをお詫びします。私はロックの推奨事項を試してみましたが、役に立ちませんでした。今まで使ったことがないので、間違っていたら教えてください。
vb.net - Windowsサービスでしばらくするとタイマーが機能しなくなります
1 分ごとに実行され、いくつかの DB および IO 操作を実行する Windows サービスがあります。
すべて正常に動作しますが、しばらくするとサービスが機能しないことがわかりました。
開始したことを示していますが、何も起こっていません。
1) これは、GC によって収集されているタイマーの bcoz でしょうか? はいの場合、私のコードに問題があります。
2) onstart と onstop で timer.enable を使用しましたが、timer.start と timer.stop を使用する必要があります。
3) Threading.Timer を使用したい場合は、次のコードで何を変更する必要がありますか。
どんな助けでも大歓迎です