私はバックグラウンドスレッドを持つWebアプリケーションを持っています。 Executors.newSingleThreadExecutorであるこのスレッドには、低優先度と見なされるタスクが与えられます。タスクが完了すると気にしません。多くの場合、送信されたタスクはリモートDBへのログの一種です。Javaのバックグラウンドスレッド:低学年
私は、Thread.setPriorityを使ってスレッドの実際の優先順位を変更してはいけないと何度も読んでいます。その場合、私は私のバックグラウンドタスクが私のサーバーのより重要なタスクを妨害しないようにします。どのような戦略を使うことができますか?私はのThread.sleepを入れて検討しています
(1)またはバックグラウンドタスクのrun()メソッドの先頭にyeild():ここで
は、私が考えていものです。これは、他のスレッドが、その時点で何かする必要がある場合に先に飛び越えることを可能にします。しかし、これはハッキリしているようです。提案?
あなたは何度も何度も読んでいますか?あなたが何をしたいのか分かっているなら、それをしてください。考えているほどの効果はないかもしれませんが、それはおそらくあなたの言葉のない情報源があなたに語っているものですが、それがあなたが必要と考えるものなら、あなたはそれが必要です。 – EJP