java - Difference between processors and threads -
this question has answer here:
i using parallel stream of java 8, don't understand 1 thing:
i have machine 8 processors...
intstream.range(0, 9).parallel().foreach(i -> { int cnt = 0; while (system.currenttimemillis() < rununtil) cnt++; system.out.println(i + ": " + cnt); }) does mean can use 8 threads?
the above code runs 8 in parallel , next waiting, if use custom thread pool using forkjoinpool tasks more 8 running in parallel.
forkjoinpool forkjoinpool = new forkjoinpool(17); forkjoinpool.submit(()->intstream.range(0, 17).parallel().foreach(i -> { int cnt = 0; while(system.currenttimemillis() < rununtil) cnt++; system.out.println(i + ": " + cnt); })).get(); the above code runs 16 in parallel. if can use more 8 threads in 8 processor machine, max number of threads can use.
edit 1-does mean max number of threads can use 2*available processor's?
you can run x-amount of threads inside 1 single process. processor in other words cpu unit runs down. can check resource monitor on windows see how many threads running in 1 process.
for example chrome browser running in 3 processes while having 20 threads respectively. in other words can start many threads cpu power/memory etc. allows.
Comments
Post a Comment