Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-in-01.newsfeed.easynews.com!easynews.com!easynews!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Lew" Subject: Re: Tools/frameworks for Java multi-core programming? Message-ID: <502FD84F.56936.calajapr@time.synchro.net> X-Comment-To: Robert Klemme Newsgroups: comp.lang.java.programmer In-Reply-To: <502FD84F.56930.calajapr@time.synchro.net> References: <502FD84F.56930.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 d5cd722d X-FTN-REPLY: 1:261/38 8f08fb78 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 98 Date: Sat, 18 Aug 2012 18:36:18 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1345314978 69.21.70.65 (Sat, 18 Aug 2012 13:36:18 CDT) NNTP-Posting-Date: Sat, 18 Aug 2012 13:36:18 CDT Organization: tds.net X-Received-Bytes: 4662 Xref: csiph.com comp.lang.java.programmer:17994 To: Robert Klemme From: "Lew" To: Robert Klemme From: "Lew" To: Robert Klemme From: "Lew" To: Robert Klemme From: "Lew" To: Robert Klemme From: Lew Robert Klemme wrote: > anthonycwmak 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 Java programs can "utilize" multi-core CPUs out of the box. You need do nothing special. >> 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. As Robert said, if you're writing enterprise apps using Java EE, then the threading is already done. You should pretty much never explicitly code a Java EE component to spawn a thread. Java SE is another matter. You do have to use thread calls to spawn threads. Once you have at least two threads in a program (and all Java programs do), then you are multi-core capable. Java programs that use threads are already multi-core capable. Boom, done. What are you really after? -- Lew -+- 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 -+- 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 -+- 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 -+- 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 --- 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