0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
60 tayangan20 halaman
PBO Week 05 OOP Multi - Utas 1
Dokumen ini membahas tentang multi-threading dalam bahasa pemrograman Java. Java memungkinkan pengembangan program multi-threading dimana dua atau lebih bagian dapat berjalan secara bersamaan menangani tugas berbeda. Setiap thread memiliki siklus hidup yaitu baru, dapat dijalankan, menunggu, waktu menunggu, dan berakhir. Thread dibuat dengan mengimplementasikan interface Runnable dan memanggil metode start().
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
60 tayangan20 halaman
PBO Week 05 OOP Multi - Utas 1
Dokumen ini membahas tentang multi-threading dalam bahasa pemrograman Java. Java memungkinkan pengembangan program multi-threading dimana dua atau lebih bagian dapat berjalan secara bersamaan menangani tugas berbeda. Setiap thread memiliki siklus hidup yaitu baru, dapat dijalankan, menunggu, waktu menunggu, dan berakhir. Thread dibuat dengan mengimplementasikan interface Runnable dan memanggil metode start().
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 20
PBO - WEEK 06
MULTI-UTAS (MULTI-THREADING) - Bagian 1
Priyo Sarjono Wibowo
MULTI-UTAS Java adalah bahasa pemrograman multi-utas yang berarti: memungkinkan pengembangan program multi-utas berisi dua atau lebih bagian yang dapat berjalan secara bersamaan; setiap bagian dapat menangani tugas yang berbeda pada saat yang sama memanfaatkan secara optimal sumber daya yang tersedia khususnya ketika komputer memiliki banyak CPU. MULTI-TUGAS Menurut definisi, multi-tugas (multi-tasking) adalah ketika banyak proses berbagi sumber daya pemrosesan yang sama seperti CPU. Multi-utas memperluas gagasan multi-tugas ke dalam aplikasi dimana memungkinkan pembagian operasi tertentu dalam satu aplikasi menjadi masing-masing utas. MULTI-UTAS ▪Setiap utas dapat berjalan secara paralel. ▪Sistem Operasi membagi waktu pemrosesan tidak hanya di antara aplikasi yang berbeda, tetapi juga di antara setiap utas dalam suatu aplikasi. SIKLUS HIDUP UTAS Sebuah utas melewati berbagai tahapan dalam siklus hidupnya. Misalnya: ▪ utas lahir, ▪ dimulai, ▪ dijalankan, ▪ dan kemudian mati. SIKLUS HIDUP UTAS ▪ New. Utas baru memulai siklus hidupnya di status baru; akan tetap dalam kondisi ini sampai program memulai utas. Ini juga disebut sebagai born thread. ▪ Runnable. Setelah utas baru lahir dimulai (started), utas menjadi Runnable (dapat dijalankan). Utas dalam kondisi ini dianggap menjalankan tugasnya. SIKLUS HIDUP UTAS ▪ Waiting. Terkadang, utas bertransisi ke status menunggu, sementara utas menunggu utas lainnya untuk melakukan tugas. Utas transisi kembali ke status runnable hanya ketika utas lain memberi sinyal utas menunggu untuk melanjutkan eksekusi. SIKLUS HIDUP UTAS ▪ Timed Waiting. Utas yang dapat dijalankan (runnable) dapat memasuki kondisi waktu tunggu untuk interval waktu tertentu. Utas dalam status ini transisi kembali ke kondisi runnable ketika interval waktu itu berakhir atau ketika kejadian (event) yang ditunggunya terjadi. SIKLUS HIDUP UTAS ▪ Terminated (mati). Utas runnable memasuki status dihentikan saat ia menyelesaikan tugasnya atau jika telah berakhir. PRIORITAS UTAS ▪ Setiap utas Java memiliki prioritas yang membantu sistem operasi menentukan urutan urutan utas. ▪ Prioritas utas Java berada dalam kisaran antara MIN_PRIORITY (konstanta 1) dan MAX_PRIORITY (konstanta 10). Secara default, setiap utas diberi prioritas NORM_PRIORITY (konstanta 5). PRIORITAS UTAS ▪ Utas dengan prioritas lebih tinggi lebih penting bagi suatu program dan harus dialokasikan waktu prosesor sebelum utas dengan prioritas lebih rendah. ▪ Namun, prioritas utas tidak dapat menjamin urutan pelaksanaan utas dan sangat tergantung kepada platform. MEMBUAT UTAS Dengan implementasi sebuah runnable interface, jika class dimaksudkan untuk dieksekusi sebagai sebuah utas. 1. Implementasi sebuah method run() melalui Runnable interface, 2. membuat obyek utas menggunakan constructor, 3. menjalankan method start() yang memanggil method run(). LANGKAH 1: 1. Implementasi sebuah method run() melalui Runnable interface; memberikan titik masuk untuk utas, dan adalah tempat untuk menuliskan logika lengkap. public void run( ) LANGKAH 2: 2. Membuat obyek utas menggunakan constructor. Thread(Runnable threadObj, String threadName); ▪ threadObj adalah sebuah obyek dari sebuah class yang menerapkan Runnable interface, dan ▪ threadName adalah nama yang diberikan kepada utas yang baru. LANGKAH 3: 3. Menjalankan method start() yang memanggil method run(). Setelah objek utas dibuat, maka dapat memulainya dengan memanggil method start (), yang mengeksekusi metode pemanggilan untuk method run(). KELUARAN: WE’RE DONE.