Matakuliah Tahun Versi : M0074/PROGRAMMING II : 2005 : 1/0 Pertemuan 10 PEMROGRAMAN MULTITHREADING 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Mahasiswa dapat Menunjukkan konsep multithreading dan penerapannya dalam aplikasi (C3) 2 Outline Materi • • • • • • • Konsep Dasar Membuat Thread Mengeksekusi Thread sendiri Method isAlive() dan join() Prioritas Thread Sinkronisasi Komunikasi antar Thread 3 KONSEP DASAR • Process based • Thread based • CPU time slice 4 MEMBUAT THREAD • class java.lang.Thread • interface java.lang.Runnable 5 MENGEKSEKUSI THREAD • • • • Implement runnable Method start() Method run() Contoh : class ThreadBaru implements Runnable { public ThreadBaru() { Thread newThread = new Thread(this); newThread.start(); } 6 MENGEKSEKUSI THREAD public void run() { for(int i=0;i<5;i++){ System.out.println( "Dalam child thread (" + i + ")"); try{ Thread.sleep(100); }catch(InterruptedException e) {} } } } 7 METHOD isAlive() DAN join() isAlive() • Untuk mengetahui apakah suatu thread masih dieksekusi/berjalan join() • Untuk menunggu suatu thread selesai dieksekusi 8 PRIORITAS THREAD • Tergantung Sistem Operasi • Dapat diset dengan menggunakan method : void setPriority(int level) 9 SINKRONISASI • Untuk mengontrol akses ke suatu resources • Konsep monitor • Sinkronisasi pada method • Sinkronisasi pada objek 10 KOMUNIKASI ANTAR THREAD • Method – wait() – notify() – notifyAll() 11 RINGKASAN • Method penting yang digunakan dalam pemrograman multithreading adalah : – start() – run() – isAlive() – join() – void setPriority(int level) – wait() – notify() – notifyAll() 12
© Copyright 2024 Paperzz