Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pemrograman Multithreading Menggunakan Thread Java

Similar presentations


Presentation on theme: "Pemrograman Multithreading Menggunakan Thread Java"— Presentation transcript:

1 Pemrograman Multithreading Menggunakan Thread Java
Armin Lawi Program Pascasarjana UNHAS

2 Apa itu thread Alur kontrol yang melewati program
Thread  (high-weight) Process Process mengalokasi memori Thread berbagi memori dengan thread lainnya (global memory dan local memory) Thread kadang disebut light-weight process Multithreading: Program dengan lebih dari satu thread

3 Single threaded program
class ABC { …. public void main(..) .. } begin body end

4 Single- dan Multi-threaded Program
Single-threaded program Multithreaded program Eksekusi Thread Multiple instruction stream Single instruction stream Ruang Address Bersama

5 Multithreaded Program
Main Thread start start start Thread A Thread B Thread C Thread dapat bertukar data/hasil

6 Mengapa Multithreading Penting
Client 1 Process Server Process Server Threads Internet Client 2 Process

7 Membuat thread dalam Java
Membuat class yang meng-extend Thread Membuat class yang tidak meng-extend Thread tetapi meng-implement Runnable interface

8 Contoh dengan extends Thread
public class ThreadSebutNama extends Thread { public static void main (String[] args) { ThreadSebutNama thread1, thread2; thread1 = new ThreadSebutNama(); thread2 = new ThreadSebutNama(); thread1.start(); //memanggil run thread2.start(); // memanggil run } public void run () { int pause; for (int i=0; i<10; i++) { try { System.out.println(getName() + " sementara dieksekusi."); pause = (int) (Math.random()*3000); sleep(pause); // 0-3 detik catch (InterruptedException e) { System.out.println(e); } } } Contoh dengan task yang sama!!

9 Contoh Lain Contoh thread dengan task yang berbeda

10 Contoh dengan implements Runnable
public class RunnableSebutNama implements Runnable { public static void main(String[] args) { Thread thread1 = new Thread(new RunnableSebutNama()); Thread thread2 = new Thread(new RunnableSebutNama()); thread1.start(); thread2.start(); } public void run() { int pause; for (int i=0; i<10; i++) { try { System.out.println(Thread.currentThread().getName() + " sedang dieksekusi."); pause = (int)(Math.random() * 3000); Thread.sleep(pause); catch (InterruptedException e) { System.out.println(e); } } } } RunnableSebutNama runnable1 = new RunnableSebutNama(); RunnableSebutNama runnable2 = new RunnableSebutNama(); Thread thread1 = new Thread(runnable1)

11 Multithreaded server MultiEchoServer MultiEchoClient


Download ppt "Pemrograman Multithreading Menggunakan Thread Java"

Similar presentations


Ads by Google