nobeh
nobeh

Reputation: 10039

JVM Implementation of Thread Work Distribution and Multicore

I am doing some research on language implementations on multicore platforms. Currently, I am trying to figure out a couple of things:

Taking this to multicore, how is this mapping done for multicore? How threads are mapped to different cores to run simultaneously? I know that there is ExecutorService implementation that we can use to take advantage of multicore features. Here can come a consequence of the previous answers: If the OS native threads are responsible for work distribution and thread scheduling, then is it true to say that what JVM does through ThreadPool and ExecutorService is only creating threads and submitting tasks to them?

I'd be thankful for your answers and also if I am on the right track on topic.

Upvotes: 3

Views: 813

Answers (1)

Stephen C
Stephen C

Reputation: 718788

For instance say Open JDK, I think I even do not know what parts I should take a look to read more about this.

You should start by looking at the parts of the source code that are coded in C++. A C / C++ IDE might help you with the codebase exploration.

Taking this to multicore, how is this mapping done for multicore? How threads are mapped to different cores to run simultaneously?

I'm pretty sure that the operating system takes care of that aspect, not the JVM.

... is it true to say that what JVM does through ThreadPool and ExecutorService is only creating threads and submitting tasks to them?

AFAIK, yes.

Upvotes: 1

Related Questions