/ / Чи можемо ми змінити планувальник потоків JVM? - java, синхронізація, jvm

Чи можемо ми змінити планувальник потоку JVM? - java, синхронізація, jvm

Чи можемо ми змінити Планувальник ниток від JVM. Припустимо, над моїм JVM працює випереджальне планування потоків, ніж я можу змінити його на моєму власному алгоритмі планування потоків або JVM надає вибір для планувальника.

Відповіді:

7 для відповіді № 1

Загалом JVM не робить ніякого планування. Це завдання ОС. Наприклад, у Linux є налаштовані параметри планування, і якщо ви хочете додати нову стратегію планування, ви можете змінити ядро.

Однак, залежно від того, чому ви хочете це зробити,Ви можете вирішити проблему іншим способом, наприклад, користуючись користувацьким виконавцем або рамкою стилю Reactor або ефективно відключити планування для центрального процесора та виконати всю роботу в Java самостійно. (Не тривіальна тема, рідко дуже корисна)


5 для відповіді № 2

ІМХО, ми не маємо особливого контролю над потокомпланування. Більшість сучасних JVM делегує рідному ОС, коли мова йде про планування потоків. Деякі solaris jvms, я чув, як і раніше використовують поняття "Зелені нитки". Це, мабуть, найкращий знімок у тому, що ви намагаєтесь досягти. У мене немає машини з соняшником, тому я не можу підтвердити.

Це зводиться до двох варіантів. 1) Програмно маніпулюйте пріоритетами ниток. Нитки з більш високими пріоритетами будуть виконані спочатку.

або, Змініть налаштування os, як зазначено в цьому посиланні http://docs.oracle.com/cd/E24290_01/coh.371/e22838/tune_perftune.htm#CACCHIFA


1 для відповіді № 3

Чи можемо ми змінити планувальник потоків JVM.

Ні, тому що немає чого змінити. Це в операційній системі. Будь-яка посилання, яку ви можете зіткнутися з плануванням потоків JVM, у кращому випадку застаріла, а в гіршому - неправильна.