Anda di halaman 1dari 4

PertemuanII Thread

Bahasan :Thread Sasaran :MemahamikonsepdariThread MemahamiprioritasThread. Materi : Multithreading adalah suatu kemampuan yang memungkinkan beberapa kumpulan instruksi dapat dijalankan secara bersamaan dalam sebuah program. SatukumpulaninstruksiyangdieksekusisecaraindependendinamakanThread. Padasaatmenjalankanprogram,sebuahthreadutamaakandibuatolehjavauntuk mengeksekusiprogramtersebut,yangdimulaidenganmemanggilmethodmain(). Untuk membuat thread baru yang terpisah dari thread utama, maka harus membuat class baru yang merupakan turunan dari kelas thread atau mengimplementasikan interfacerunnabe. Berikutiniadalahkonstructordanmethodmethodyangtelahdidefinisikankelas thread,antaralain: Method staticThreadcurrentThread() Deskripsi MendapatkanreferensiobjectThread yangsedangdieksekusi. StringgetName() intgetPriority() Mendapatkannamadarithread. Mendapatkan prioritas dari thread

nilainya 1 10. Semakin tinggi nilainya makaprioritasthreadtsbsemakintinggi. BooleanisAlive() voidjoin() Mengetesthreadapakahmasihaktif! Menunggu hingga thread ini selesai dieksekusi..

voidjoin(longmillis) voidjoin(longmillis,intnanos) voidrun() Method yang pertama kali akan

dieksekusisaatthreaddibuat. StringsetName() staticvoidsleep(longmillis) staticvoidsleep(longmillis, intnanos) Byte output Stream yang menambahkan voidstart() method untuk memudahkan proses menulis ke suatu output. Method yang ditambahkan adalahprint()danprintln(). Object yang referensinya dipegang oleh Sytem.outjugabertipePrintStream. voidsetDaemon(Booleanon) Bila nilai on adalah true maka akan memanggil thread ini terlebih dahulu sebelummenjalankan Mensetnamadarithread. Menangguhkaneksekusidarithreadyang sedangberjalanuntuksementarawaktu

ContohProgram:
packagejava_thread importjava.util.logging.Level importjava.util.logging.Logger classHaloThreadextendsThread{ Strings publicHaloThread(Stringss){ this.s=ss } @Override publicvoidrun(){ for(inti=0i<10i++){ System.out.println(s+""+i+":Haloo") try{ sleep(300)} catch(InterruptedExceptionex){ Logger.getLogger(HaloThread.class.getName()).log(Level.SEVERE,null,ex) } } } } publicclassMain{ publicstaticvoidmain(String[]args){ HaloThreadh1=newHaloThread("TH1"); HaloThreadh2 =newHaloThread("TH2"); HaloThreadh3=newHaloThread("TH3"); h1.start(); h2.start(); h3.start(); }}

Tugasdilaboratorium: 1. Program1 a. Buatlah buatlah sebuah class Kirim yang merupakan turunan dari class thread dimana dalam kelas ini terdapat procedure yang pertama kali dijalankan. Procedure tersebut mengoutputk proses bilangan ganjil ke layar yang di ulang sebanyak10kali. b. LalubuatlahclassTerimayangjugamerupakanturunandariclassthreaddimana dalam kelas ini terdapat procedure yang pertama kali dijalankan. Procedure tersebutmengoutputkanprosescariyanggenapkelayaryangdiulangsebanyak 10kali. c. BuatlahkelasutamadengannamaThreadUtama yangdidalamnyamenjalankan kelasterimadankelaskirimsecarabersamasama. 2. Buatlah class class seperti pada program 1 hanya saja class Kirimdan class Terima mengimplementasikaninterfaceRunnable Tugaspraktikum: 1. Buatlah class class seperti pada program 1 hanya saja class Kirim mengimplementasikaninterfaceRunnabledanclassTerimaturunanClassThread.

Anda mungkin juga menyukai