Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0.

Presentasi serupa


Presentasi berjudul: "Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0."— Transcript presentasi:

1 Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0

2 Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Mendemonstrasikan penggunaan thread dalam memproses suatu data di Java. Bina Nusantara

3 Keuntungan Mutlithreading Creating Tasks and Thread Thread Method
Outline Materi Konsep Thread Multithreading Keuntungan Mutlithreading Creating Tasks and Thread Thread Method Thread Synchronization Cooperation Among Thread Bina Nusantara

4 Konsep Thread Thread : rangkaian dari eksekusi, dimulai dari awal hingga akhir dalam sebuah program. Task : sebuah unit program yang mengeksekusi secara bebas dari satu bagian program Sebuah thread menyediakan mekanisasi dari perintah yang dijalankan. Sekumpulan intruksi yang dieksekusi secara paralel dengan metode time scale ( ketika satu prosessor melakukan perpindahan antara satu thread ke thread lainnya) Bina Nusantara

5 Konsep Thread ( lanjut .. )
Multiprocessing merupakan penggunaan dua atau lebih CPU dalam sebuah sistem komputer. Multitasking merupakan metode untuk menjalankan lebih dari satu proses dimana terjadi pembagian sumberdaya seperti CPU. Multithreading adalah cara pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen. Bina Nusantara

6 Konsep Thread ( lanjut .. )
Thread sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara proses dengan thread sangat berbeda. Multiple thread dapat dieksekusi secara paralelel pada sistem komputer. Multiple thread dapat membuat program menjadi lebih responsive dan interactive serta meningkatkan kinerja program. Bina Nusantara

7 Multithreading Ada 3 model Mutlithreading :
Many to One (Solaris Green Thread dan GNU Portable Thread) One to One (Windows NT/XP/2000 , Linux, Solaris 9 dan diatasnya) Many to Many (Windows NT/2000, Solaris sebelum versi 9) Bina Nusantara

8 Keuntungan Mutlithreading
Keuntungan dari multithreading dikategorikan menjadi 4 bagian: Responsif Berbagi sumber daya Ekonomis Utilisasi arsitektur multiprosesor   Bina Nusantara

9 Creating Tasks and Thread
Tasks = Objects. Sebuah tasks harus implement interface Runnable. Interface Runnable terdapat method run dimana wajib diimplementasikan dalam kelas yang digunakan. Contoh : Bina Nusantara

10 Creating Tasks and Thread ( lanjut ..)
Penggunaan dengan thread dari kelas yang telah mengimplementasi kelas Runnable : Task task = new Task(); Thread thread = new Thread(task); thread.start(); Ketika JVM menjalankan perintah maka method run yang diimplementasi pada kelas Task dijalankan. Memerintahkan JVM bahwa thread siap untuk dijalankan. Bina Nusantara

11 Creating Tasks and Thread ( lanjut ..)
Contoh menggunakan Thread Bina Nusantara

12 Berikut method-method yang ada di kelas Thread :
Thread Method Berikut method-method yang ada di kelas Thread : start()  Menjalankan thread dengan menjalankan fungsi run pada kelas yang mengimplemen interface Runnable dan di jalankan oleh JVM. isAlive()  Megetahui apakah thread tersebut jalan atau tidak setPriority(p : int)  set prioritas thread dari 1 – 10. join()  menunggu thread ini hingga selesai. sleep(t : long)  membuat thread menjadi sleep dalam ukuran milisecond. yeild()  menghentikan thread sementara dan mengijinkan thread lain untuk jalan. interrupt()  interupsi thread. Bina Nusantara

13 Thread Synchronization
Untuk mengatur multiple thread secara simultan pada resource yang sama agar tidak terjadi masalah. Mengunakan keyword synchronized untuk mensikronisasi fungsi sehingga hanya 1 fungsi saja yang menggunakan thread dan dapat mengaksesnya. Sebuah statement synchronized dapat digunakan untuk mendapatkan sebuah kunci dari beberapa objek, tidak hanya objek tersebut, ketika mengeksekusi blok kode dalam sebuah fungsi. Konsep monitor : mengendalikan object dengan locking Synchronized method dibuat dengan modifier synchronized saat deklarasi. Bina Nusantara

14 Thread Synchronization (lanjut ..)
Bentuk umum statementnya : synchronized (expr){ statements; } Untuk setiap objek, sekali synchronized method dipanggil maka object akan di-lock dan tidak ada synchronized method dari object tersebut yang dapat digunakan oleh thread lain. Thread lain yang mencoba menggunakan synchronized objek akan transisi ke waiting state sampai object di-unlock . Object akan di-unlock ketika sebuah thread meninggalkan synchronized method. Mengevaluasi objek yang ditunjuk Bina Nusantara

15 Cooperation Among Thread
Menggunakan interface dari java.util.concurrent.Condition Interface Condition sebagai fasilitator komunikasi antar thread. Method yang digunakan : await()  Thread yang ada menunggu sampai ada kondisi/sinyal tertentu signal()  membangunkan 1 thread yang menunggu signalAll()  membangunkan semua thread yang menunggu Bina Nusantara

16 Referensi Introduction to Java Programming. 7ed. Liang Chapter 29, hal 958 Thread Class Bina Nusantara


Download ppt "Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0."

Presentasi serupa


Iklan oleh Google