devv
devv

Reputation: 311

Java Multi Threading in multi cpu cores

Does Java threads runs in parallel on Multi core Processor i.e, runs multiple threads at the same time?

[Parallel processing with Java Threads]

Upvotes: 1

Views: 1144

Answers (3)

Helios
Helios

Reputation: 851

First thing it's the JVM who spawns the threads but it's the hardware whom JVM depends on. If it has multi core, JVM can run multiple threads at the same time to extract max performance.

Now when it comes to user(You) decide to what extent you want to exploit the CPU resources and you do this through thread pools.(By defining max number of threads can run in parallel) but yet again you stuck up with your hardware configuration.

Upvotes: 0

Adil Shaikh
Adil Shaikh

Reputation: 44740

volatile is useful when you want to prevent your resource from being cached by Threads

Multiple threads can run on single CPU (though, one at a time) and can share resources, So volatile is still useful.

Upvotes: 3

Thanga
Thanga

Reputation: 8091

JVM does not decide the number of processors to be used. It is the job of OS. JVM has the capability of creating multiple threads and submits them.

Volatile is used to guarantee the data is not being fetched from CPU cache during concurrency.

Upvotes: 2

Related Questions