Obcas pouzivam paralelizaci, kdyz chci vyuzit muj dvoujadrovy procesor: ExecutorService pool = Executors.newFixedThreadPool(Config.poolSize); pool.submit(new IssueFilterTask(0, 49999)); pool.submit(new IssueFilterTask(50000, 99999)); pool.shutdown();
Jinak souhlas s ConcurrentHashMap. Ta patri k nejuzitecnejsim. Z.T. -- Zdenek Tronicek FIT CTU in Prague Oto Buchta napsal(a): > JSR166 je podle mne také jeden z důvodů, proč se aplikace > distribuovaně nepíší. Použil někdy někdo z Vás balík > java.util.concurrent? A pokud ano, používáte to běžně? > ConcurrentHashMap je dobrá a často ji používám, uznávám, ale jinak? > Proč je vytvořen opravdu silný a IMHO složitý a těžko čitelný > mechanismus pro paralelizaci a konkurentní přístup místo jednoduché > konstrukce zavedené přímo do syntaxe jazyka? > Proč se nikdo neinspiroval třeba takovými jazyky, jako jsou Oz, Alice či > E? > > Jak by se krásně programovalo a paralelizovalo pri konstrukci jako > > int result1,result2,result3; > concurrent { > thread 1: result1 = method1(); > thread 2: result2 = method2(); > thread 3: result3 = method1()*method2(); > } > if (result1==result2) { > ... > } > > , proč k tomu používat šílené Future? Nebo by to šlo krásně vyřešit > pomocí anotace - jak by bylo jednoduché a elegantní přidat anotaci > @Future k metodě? A nebo zavést Ečkové eventuální volání metody > myObject<-futureMethod() > > a nebo rovnou Ečkový slib > > int futureResult <- myObject.futureMethod() > when (futureResult) { > if (futureResult == 4) { > ... > } > } > > Věřím tomu, že většina programátorů by tyto jednoduché konstrukce > velice ráda a často využívala. A paralelizovaný kód by byl daleko > čitelnější. Jednu dobu jsem uvažoval, že bych si zkusil napsat něco, > co by to nějak inteligentně schovalo. Ale nakonec jsem to zavrhl... > Třeba to v Javě 1.10 bude... > > PS: Od dob foreach používám reverzní procházení pole jenom v J2ME a > všichni, kteří kdy takovýto kód četli, > velice rychle zjistili, že je to moje úchylka :-P > > -- > Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com >