Sebutkan manfaat sinkronisasi pada thread dan berikan contoh potongan kode dengan java

Obyektif Praktikum : Mendefiniskan threads Mengerti perbedaan state dalam threads Mengerti konsep prioritas dalam threads PERTEMUAN 7 MULTITHREADED PROGRAMMING Mengetahui bagaimana menggunakan method didalam class Thread Membuat sendiri sebuah thread Menggunakan sinkronisasi pada thread yang bekerja bersama-sama dan saling bergantung satu dengan yang lainya Memungkinkan thread untuk dapat berkomunikasi dengan thread lain yang sedang berjalan Mengerti dan menggunakan kemampuan concurency 1

MULTITHREADING DAN THREAD Multithreading adalah suatu kemampuan yang memungkinkan beberapa kumpulan instruksi atau proses dapat dijalankan secara bersamaan dalam sebuah program. Satu kumpulan instruksi yang akan dieksekusi secara independen dinamakan thread. Keuntungan Multithreading : Responsif Ekonomis Utilitas Arsitktur multiprosesor Kerugian Multithreading : Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads. Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang [mengacu kepada latency], tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading. Multithreading menghasilkan program yang lebih kompleks. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache. 2

PEMBUATAN THREAD Sebuah thread memungkinkan untuk memiliki beberapa state : 1. Running Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU. 2. Ready to run Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk melakukannya. 3. Resumed Setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap untuk dijalankan. 4. Suspended Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk menjalankan thread lain bekerja. 5. Blocked Sebuah thread yang di-block merupakan sebuah thread yang tidak mampu berjalan, karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi. 3

Pembentukan Thread Ada dua cara untuk membuat thread di program Java, yaitu : extends kelas Thread dan implements interface Runnable. Interface Runnable didefinisikan sebagai berikut: public interface Runnable public abstract void run[]; a] Extends kelas Thread Kelas Thread secara implisit juga meng-implements interface Runnable. Oleh karena itu, setiap kelas yang diturunkan dari kelas Thread juga harus mendefinisikan method run[]. Berikut ini adalah contoh kelas yang menggunakan cara pertama untuk membuat thread, yaitu dengan meng-extends kelas Thread. class CobaThread1 extends Thread public void run[] for [int ii = 0; ii

Bài mới nhất

Chủ Đề