After reading about concurrency with Java threads, I got a bit confused. Some have claimed (they might be wrong) that Java threads are executed concurrently?
If you have 4 CPU's that can do multithreading (can handle 8 threads), how is it possible that when you create 30 threads in your Java code that these are all executed concurrently (at the same time)? Only 4 can be run concurrently so far I know and the other 4 threads are waiting for execution and 22 are in the queue pool. Am I missing something or am I understanding the term concurrently wrong?