【初心者】Java質問・相談スレッド54【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0532デフォルトの名無しさん
NGNGjava.lang.Thread#setPriority(int)
でJava仮想マシンのメインのプロセス(スレッド)の優先順位下げればいけるよ。
俺も昔重いソフト作って、他のネイティブアプリが動作不能になったからメインスレッドの優先順位下げたらいけたよ。
俺の手持ちの資料では、javaのスレッドはwindows環境ではネイティブwin32スレッドに変換されて実行されるので、優先度がOSの動作に影響されるよ。
以下、資料からのコピペ。
javaの優先順位 : win32の優先順位
1,2 :THREAD_PRIORITY_LOWEST
3 :THREAD_PRIORITY_BELOW_NOMAL
4,5,6 :THREAD_PRIORITY_NOMAL
7, :THREAD_PRIORITY_ABOVE_NORMAL
8,9 :THREAD_PRIORITY_HIGHEST
10 :THREAD_PRIORITY_TIME_CRITICAL
優先度下げすぎると、環境によっては、windowsのセキュリティー関連サービスよりも優先されなくなって、かなりパフォーマンスが落ちるケースがあるようです。
■ このスレッドは過去ログ倉庫に格納されています