問題タブ [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# - WPFでタイマーイベントから新しいウィンドウを開く方法
を使用して定期的にチェックされる特定の条件が満たされている場合、新しいウィンドウを表示しようとしていますSystem.Timers.Timer
。
私はWPFを初めて使用しますが、以前の質問から読んだことから、ディスパッチタイマーはUIスレッドを使用し、UIコンポーネントに適していますが、System.Timers.Timerイベントはスレッドプールスレッドで実行されます。以前にディスパッチタイマーを使用してこれを達成していましたが、終了しようとするとプログラムが応答しなくなりました。
エラー メッセージ:"The calling thread must be STA, because many UI components require this."
は、おそらく System.Timers.Timer を使用して新しいウィンドウを開くことができないという事実に言及していることに気づき、次のことを試しました。
これにより、同じエラー メッセージが表示されます。別のタイマー タイプを使用する必要がありますか?
c# - 選択した平日のみのタイマー経過イベント
Windows サービスでタイマーを使用しています。これはシンプルで、イベントが経過するたびにファイルにデータを書き込むことができます。このアプリケーションでは、3 種類のケースを実装しようとしています。
イベントは毎日同じ時間 (指定された StartTime) に発生します。
特定の WeekDays で発生するイベントは、特定の StartTime から始まる月曜日、火曜日、および土曜日にのみ実行したいと言っています。
いくつかの特定の月に発生するイベントとその月の特定の平日は、7 月と 9 月にのみ実行したいが、特定の StartTime から始まる月曜、火曜、土曜の制限された日に実行したいと言っています。
今まで私が実装したのはケース 1 であり、ケース 2 とケース 3 で同じことを行う方法についてはわかりません (私が考えているロジックは奇妙です)。ケース 2 の解決に助けがあれば、ケース 3 の実装にも役立ちます。その他の提案は大歓迎です。
ここに私のコードがあります:
何時間も経過したイベントを簡単に実装できますが、一定の時間である1日でもtimeInterval属性を渡す必要がありますが、選択した平日と選択した月の経過イベントを発生させる方法がわかりません。
c# - c# timer 常に有効 パフォーマンス
タイマーを 1 日 100% 実行したいと考えていますが、これが問題を引き起こすかどうかはわかりませんでした。ほとんどの場合、1 分に 1 回ティックし、DateTime.Now を 5 つの保存された値と比較します。
理論的には、このタイマーを実行すると、1 分に 1 回パフォーマンスが低下するか、最小限のコードで問題が発生します。
xamarin - Xamarin System.Thread.Timer
System.Threading.Timer をコア プロジェクトにまだ追加していないため、nuget パッケージから追加しようとしています。すると、次のエラーが表示されます。
'.NETPortable,Version=4.5,Profile78' を対象とするプロジェクトにこのパッケージをインストールしようとしていますが、パッケージにはそのフレームワークと互換性のあるアセンブリ参照またはコンテンツ ファイルが含まれていません。
この問題を解決する方法がわかりません。これについていくつかの助けを借りることができます。前もって感謝します!
vb.net - Visual Basic で System.Timer を一時停止するにはどうすればよいですか?
Windows サービスで system.timer を使用して、通常はタイマーの間隔を超えるプロセスを実行しています。system.timers の既知の問題である、タイマーが同じコードを複数回起動しないようにしています。
私が欲しいもの:タイマーは私のコードを実行しますが、タイマーは「一時停止」して、コードが完了するまで待ってからティックを再開します。
2 つの問題があります。
system.timers が機能する方法は、タイマーが同じコードの新しい冗長スレッドを起動することによって競合状態を作成し、タイマーの間隔が経過するまでに が完了しない場合にそれらを積み上げるというものです。
これが起こらないようにタイマーを開始/停止しますが、System.Timers.Timer を使用すると、処理が完了するまでタイマーを停止すると、元に戻りません。停止され、破壊され、収集された可能性があります。有効化/無効化は、開始/停止とまったく同じで、同じ結果が得られます。
タイマーの間隔が経過するまでにプロセスが完了していない場合、system.timer が同じコードの新しい冗長スレッドを起動しないようにするにはどうすればよいでしょうか? 明らかに、タイマーの開始/停止 (有効化/無効化) は機能しないため、解決策ではありません。
ヘルプ!