0

Windowsでバックグラウンド優先度で実行したいJavaプロセスがあります(ここを参照)。これを行う簡単な方法はありますか?

4

1 に答える 1

0

Javaはスレッド化の実装を義務付けていないため、Windows上のSun JVMは、Linux上のSun JVMなどとは動作が異なります。Windowsスレッド化モデルは、Linuxスレッド化モデルとは大きく異なります。Javaスレッドが基盤となるOSスレッドにマップすることを義務付けることすらありません。JVMがWINDOWSでスレッド化を実装する方法に関するドキュメントはありません(または1年前に調べたときはありませんでした)。

ただし、Windows固有のケースでは、JNIまたはCOMインターフェイスを使用してプロセス/スレッドの優先度を変更する可能性があります。でも気にしないでください、それは非常に壊れやすく、テストするのが難しいと思います。難しいのは、JavaThreadオブジェクトから基盤となるWindowsスレッドIDを取得することです。

あなたのバックグラウンドタスクの監視/実行は何ですか?あなたはあなたの問題について別の方法で考えることができますか:その本質は何ですか?Java同時実行APIは、明確な要件が与えられた場合の代替ソリューションに役立つ可能性があります。

于 2012-10-01T09:46:50.013 に答える