I am working on a PC with an Intel Core i5 processor which reports to have 12 processors, which I believe is comprised of 6 cores each with two threads.
I have done some research and it appears that Java uses kernel threading. I need to dramatically increase the performance of an existing Java program and am hoping I can use all 12 of the core i5 threads to do this.
I am trying to use the IntStream().parallel.forEach()
Java 1.8 feature which looks like I can parallelize nested for()
loops with as many threads as available.
My concern is: whether my code can use all twelve threads or just the two threads on one core?