Компьютеры, как правило, имеют однозадачность, это означает, что они обычно могут выполнять одну инструкцию за один раз на процессор или ядро.
Однако, как вы заметили, ваша операционная система (и другие программы), по-видимому, одновременно выполняют много задач.
Это достигается путем разделения работы на процессы, и каждый процесс может дополнительно реализовать параллелизм, порождая потоки. Затем операционная система очень быстро переключается между каждым процессом и потоком, создавая иллюзию многозадачности.
В вашей ситуации ваша java-программа - это отдельный процесс, и вам нужно будет создать 4 потока, каждый из которых будет выполнять свой цикл. Это может быть сложно, поскольку потоки должны синхронизировать свой доступ к локальным переменным, чтобы предотвратить изменение потока одним потоком, в то время как другой поток пытается получить к нему доступ.
Поскольку многопоточность - сложная тема, она потребует гораздо большего объяснения, чем я могу сделать здесь.
Однако вы можете прочитать превосходное руководство Suns по параллелизму, которое охватывает все, что вам нужно знать:
http://java.sun.com/docs/books/tutorial/essential/concurrency/