Modul 2 Prakt ST

Embed Size (px)

Citation preview

  • PertemuanII

    ThreadBahasan :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 Deskripsi

    staticThreadcurrentThread() MendapatkanreferensiobjectThread

    yangsedangdieksekusi.

    StringgetName() Mendapatkannamadarithread.

    intgetPriority() Mendapatkan prioritas dari thread

    nilainya1 10.Semakin tinggi nilainya

    makaprioritasthreadtsbsemakintinggi.

    BooleanisAlive() Mengetesthreadapakahmasihaktif!

    voidjoin() Menunggu hingga thread ini selesai

    dieksekusi..

  • voidjoin(longmillis)

    voidjoin(longmillis,intnanos)

    voidrun() Method yang pertama kali akan

    dieksekusisaatthreaddibuat.

    StringsetName() Mensetnamadarithread.

    staticvoidsleep(longmillis)

    staticvoidsleep(longmillis,

    intnanos)

    Menangguhkaneksekusidarithreadyang

    sedangberjalanuntuksementarawaktu

    voidstart()

    Byte output Stream yang menambahkan

    method untuk memudahkan proses

    menulis ke suatu output. Method yang

    ditambahkanadalahprint()danprintln().

    Object yang referensinya dipegang oleh

    Sytem.outjugabertipePrintStream.

    voidsetDaemon(Booleanon) Bila nilai on adalah true maka akan

    memanggil thread ini terlebih dahulu

    sebelummenjalankan

  • ContohProgram:

    packagejava_threadimportjava.util.logging.Levelimportjava.util.logging.Logger

    classHaloThreadextendsThread{StringspublicHaloThread(Stringss){this.s=ss

    }@Overridepublicvoidrun(){for(inti=0i

  • 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. BuatlahkelasutamadengannamaThreadUtamayangdidalamnyamenjalankan

    kelasterimadankelaskirimsecarabersamasama.

    2. Buatlah classclass sepertipadaprogram1 hanya sajaclassKirimdanclassTerima

    mengimplementasikaninterfaceRunnable

    Tugaspraktikum:

    1. Buatlah class class seperti pada program 1 hanya saja class Kirim

    mengimplementasikaninterfaceRunnabledanclassTerimaturunanClassThread.