Одноядерный ЦП может поддерживать многопоточность Java, но эффект одновременного выполнения нескольких потоков будет ограничен одноядерным ЦП.
Многопоточность Java реализуется через виртуальную машину Java (JVM), а JVM сопоставляет потоки с базовыми потоками операционной системы. Будь то одноядерный ЦП или многоядерный ЦП, JVM может создавать несколько потоков и сопоставлять их с потоками операционной системы.
На одноядерном ЦП, хотя имеется только один физический процессор, операционная система может переключаться между различными потоками с помощью переключения потоков и чередования временных интервалов, тем самым реализуя одновременное выполнение нескольких потоков. Когда квант времени потока истечет, операционная система сохранит состояние текущего потока, а затем переключится на другой поток для продолжения выполнения. Таким образом, несколько потоков могут выполняться поочередно, создавая у пользователя ощущение одновременного выполнения.
Однако из-за физических ограничений одноядерного ЦП одновременно может выполняться только один поток, в то время как другим потокам необходимо ждать, пока выполнится их собственный квант времени. Это приведет к увеличению накладных расходов на переключение и время ожидания между потоками, что снизит эффективность одновременного выполнения нескольких потоков.
Вообще говоря, одноядерный ЦП может поддерживать многопоточность Java, но эффект параллелизма многопоточности будет ограничен физикой, а эффективность выполнения может быть не такой хорошей, как многопоточное выполнение на многоядерном ЦП.