Sayfalar

22 Mayıs 2011 Pazar

Java Thread - ExecutorService Örneği - Seri / Paralel

0 yorum
Aşağıda, Java 1.5 ile birlikte gelen ExecutorService arayüzünü kullanarak oluşturduğum bir multithread uygulama örneğini paylaşmak isterim. Bu örnekte, işlemlerin paralel ve seri olarak çalıştırılması ve sonuçlarının dönülmesini görebilirsiniz:

package karalama.thread;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

class TaskResult {
private String resultStr;
public TaskResult(String resultStr) {
this.resultStr = resultStr;
}
public String getResultStr() {
return resultStr;
}

}

public class ExecuterTester {

private static final class CallableTask implements Callable<TaskResult> {
private String name ;
private long waitTime;

public CallableTask(String name, long waitTime) {
this.name = name;
this.waitTime = waitTime;
}

@Override
public TaskResult call() throws Exception {
System.out.println(name
+ " started");
long t = System.currentTimeMillis();
Thread.sleep(waitTime);
String result
= name + " ended - " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.";
//System.out.println(result);
return new TaskResult(result);
}
}

public static void main(String args[]) {
ExecutorService executorService
= Executors.newCachedThreadPool();
List
<Callable<TaskResult>> tasks = new ArrayList<Callable<TaskResult>>();

tasks.add(
new CallableTask("task1", 1000));
tasks.add(
new CallableTask("task2", 2000));
tasks.add(
new CallableTask("task3", 3000));
tasks.add(
new CallableTask("task4", 4000));
tasks.add(
new CallableTask("task5", 5000));

try {
System.out.println(
"Paralel İşlem");
long t = System.currentTimeMillis();
List
<Future<TaskResult>> futureList = executorService.invokeAll(tasks);
for (Future<TaskResult> future : futureList) {
TaskResult taskResult
= future.get();
System.out.println(taskResult.getResultStr());
}
System.out.println(
"Toplamda " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.");
}
catch (InterruptedException e) {
e.printStackTrace();
}
catch (ExecutionException e) {
e.printStackTrace();
}

System.out.println(
"\nSeri İşlem");
long t = System.currentTimeMillis();
for (Callable<TaskResult> task : tasks) {
Future
<TaskResult> future = executorService.submit(task);
try {
TaskResult taskResult
= future.get();
System.out.println(taskResult.getResultStr());
}
catch (InterruptedException e) {
e.printStackTrace();
}
catch (ExecutionException e) {
e.printStackTrace();
}

}
System.out.println(
"Toplamda " + (System.currentTimeMillis()-t) / 1000 + " sn geçti.");
}



}


Uygulama Çıktısı:

Paralel İşlem
task1 başladı
task2 başladı
task3 başladı
task4 başladı
task5 başladı
task1 bitti - 1 sn geçti.
task2 bitti - 2 sn geçti.
task3 bitti - 3 sn geçti.
task4 bitti - 4 sn geçti.
task5 bitti - 5 sn geçti.
Toplamda 5 sn geçti.

Seri İşlem
task1 başladı
task1 bitti - 1 sn geçti.
task2 başladı
task2 bitti - 2 sn geçti.
task3 başladı
task3 bitti - 3 sn geçti.
task4 başladı
task4 bitti - 4 sn geçti.
task5 başladı
task5 bitti - 5 sn geçti.
Toplamda 15 sn geçti.


ali kemal taşçı

19 Mayıs 2011 Perşembe

Görmediğimiz Türkiye Fotoğrafları Sergisi

0 yorum


Bugün, National Geographic'in 10. yılı şerefine, arşivinden çıkarttığı, Türkiye`nin bugüne kadar görülmemiş fotoğrafları sergisindeydim. Cumhuriyetin ilk yıllarına kadar uzanan fotoğraf sergisinde Türkiye`den çok özel fotoğrafları görebilirsiniz. Sergi, İstanbul Modern Müzesi`nin yanında bulunan Atrepo 3'te, 11 Haziran'a kadar ziyaret'e açık olacak.



İlgimi çeken bazı kareleri aşağıda paylaşmak isterim:


















İSTANBUL ÇOCUKLARI

Yaşlar küçük, ifadeler yaşlı. Yan yana dizilmişler, endişe, şüphe ve merakla asılan yüzler kameraya bakıyor. Yıl 1924. İstanbul’un yoksul mahallelerinden kim bilir hangisi…

FOTOĞRAFÇI: MERL LA VOY






















BUZLU BOĞAZ

Takvimler tam olarak 1 Mart 1929’u gösteriyor. Rumeli Hisarı onca yıldır gözlediği Boğaz’dan geçen buz kütlelerinin tanığı, bu defa. Anadolu Hisarı karşı kıyıda.

FOTOĞRAFÇI: MAYNARD OWEN WILLIAMS


KÖY İMAMI JİMNASTİK HOCASI

1933 yılı, Bursa yakınlarında bir köy. “Bu küçücük köy bile modern jimnastik hareketlerinden bihaber değil.” Fotoğrafçı, “Türkiye Cumhuriyeti din ve devlet işlerini birbirinden ayırmış olsa da” diyor, “eğitmen eksikliği nedeniyle köy imamı hem öğretmen hem de jimnastik hocası olmuş.”

FOTOĞRAFÇI: KURT VE MARGOT LUBİNSKİ



















İlgili Bağlantılar:
Görmediğimiz Türkiye Sergisi
Görmediğimiz Türkiye
Görmediğimiz bir Türkiye


ali kemal taşçı