Concurrency support in Java7 and the multi-core question


Blogs: Concurrency support in Java7 and the multi-core question

  1. Henrik Engström writes a post entitled 'The concurrency support in Java7 is not enough' in which he expresses his thoughts on the overall multi-core/concurrent world that is being pushed on by the hardware industry, and how Java is coping with the issue.
    My main concern for Java7 is that it might not be enough to cover the new ballpark being brought forward by the many-core hardware. What do I base this fear on then? Well first and foremost I think that the new programming languages must have support to handle many-cores built into the language rather than adding these important features as APIs later on. Another issue is that the new features in Java7 (e.g. fork-join framework) aims to solve problems that are a minute part of the overall problem. Let me give you an example taken from the article "Java theory and practice: Stick a fork in it, Part 1". In this well written article the fork-join framework is introduced to the reader and it is a very handy tool when used for the right problem. And this is the springing point: "When used for the right problem". In this case that is sorting. But let's not get into sorting with fork-join rather address the real problem: I/O. In the article mentioned above the author (Brian Goetz) writes the following "Server applications normally run many more threads than there are processors available. The reason is because in most server applications, the processing of a request includes a fair amount of I/O which does not require very much of the processor" ... "As processor counts increse there may not be enough concurrent requests to keep the processors busy.". From there on the article describes how to divide the parts that can be divided (sorting etc.) into sub-problems and solve them all in parallel.
    Read Henrik's complete post:
  2. Hi, Nice thinking future. Thanks, Guddu