Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit3.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Robert Klemme" Subject: Re: Tools/frameworks for Java multi-core programming? Message-ID: <502BE71F.56838.calajapr@time.synchro.net> X-Comment-To: anthonycwmak Newsgroups: comp.lang.java.programmer In-Reply-To: <502AA17C.56826.calajapr@time.synchro.net> References: <502AA17C.56826.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 8f5a640a X-FTN-REPLY: 1:261/38 d228f700 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 51 Date: Wed, 15 Aug 2012 18:36:31 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1345055791 69.21.70.65 (Wed, 15 Aug 2012 13:36:31 CDT) NNTP-Posting-Date: Wed, 15 Aug 2012 13:36:31 CDT Organization: tds.net Xref: csiph.com comp.lang.java.programmer:17891 To: anthonycwmak From: Robert Klemme On 14.08.2012 07:48, anthonycwmak@gmail.com wrote: > I am trying to find tools/frameworks that help with writing Java > program that can utilize multi-core CPU. So far I only found > jconcurr, JOMP, JAMP, Ateji, but they all either requires special > shell command to compile and run the programs, or, in Ateji's case > use a special file extension which is converted to java file. This > doesn't seem to be ideal if I require to build multi-core programs > that can be built on Maven or similar, Why is that an issue? Typically you can include custom build procedures in a build tool / framework. > and requires them to run on an > enterprise environment or application server. If you are on an JEE application server that will usually take care of the concurrency. You typically need to use those APIs the JEE spec or AS at hand provides to not interfere with the framework in bad ways (e.g. by breaking transactions). That does not seem like a bad option although AS come with their own learning curve. > Besides writing concurrent programs, by using Java Concurrency API > directly, to utilize the multi-core, are there other easier/simpler > way to create Java enterprise applications that utlize multi-core > CPUs? Preferably, just annotate my POJOs to make them multi-core > capable? "Making a POJO multi-core capable" is meaningless. Using concurrency is more like an architectural property of your application (even though you need to take care to use POJOs properly - but it's not enough to make POJOs thread safe). At this point I am suspecting that someone told you modern Java programs must use multiple cores and you want to get it done easily. Unfortunately that won't work: you need to understand the particular issues associated with concurrency to properly craft such applications - even if you use a framework that takes away a large part of the work from you. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24