Jumat, 26 September 2008

SistEm oPerasi tugas"

tugas Sistem Operasi gi...Semester 2 mng bnyk tugas mg dSemester 3 ne g da tugas,...he5788.....

THREAD

A. Pengertian Thread

Sebuah thread merupakan sebuah pengontrol aliran program.Penggunaan sistem operasi modern saat ini telah mendukung kemampuan untuk menjalankan beberapa program. Misalnya, pada saat kita mengetik sebuah dokumen di komputer dengan menggunakan text editor, dalam waktu yang bersamaan kita juga dapat mendengarkan musik, dan surfing lewat internet di PC kita. Sistem operasi yang telah terinstal dalam computer kita itulah yang memperbolehkan kita untuk menjalankan multitaskting. Seperti itu juga sebuah program (ibaratkan di PC), ia juga dapat mengeksekusi beberapa proses secara bersama-sama(ibaratkan beberapa aplikasi berbeda yang bekerja pada PC kita).Sebuah contoh aplikasi adalah HotJava browser yang memperbolehkan kita untukbrowsing terhadap suatu page, bersamaan dengan mendownload object yang lain,misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.

B. Management Thread

1. Suspend()

Membatalkan Exekusi thread untuk berjalan.

2. Sleep()

Menempatkan thread yang sedang berjalan untuk tidur dalam beberapa waktu.

3. Resume()

Hasil eksekusi dari thread yang sedang ditunda.

4. Stop()

Menghentikan eksekusi dari sebuah thread; sekali thread telah dihentikan dia tidak akan memulainya lagi.

C. Status Thread

1. New

Sebuah thread pada keadaan ini ada ketika objek dari thread tersebut dibuat

2. Runnable

Memanggil start() method untuk mengalokasikan memori bagi thread baru.

3. Blocked

Thread dihentikan namun dia tetap waspada jika sewaktu-waktu diperlukan kembali.

4. Dead

Sebuah thread dipindahkan ke keadaan dead (mati) ketika run() method berhenti atau ketika stop() method dipanggil.

D. Macam Thread

1. Many To One

2. One To One

3. Many To Many

E. Menciptakan Thread

Sebuah thread dapat diciptakan dengan cara menurunkan (extend) class Thread atau dengan mengimplementasikan sebuah interface Runnable.

1. Menurunkan (extend) class Thread

Menyebabkan class kita tidak dapat menjadi turunan dari class yang lainnya karena Java tidak memperbolehkan adanya multiple inheritance.

2. Mengimplementasikan interface Runnable

Hanya satu method yang dibutuhkan oleh interface Runnable yaitu method run.Implement sebuah interface Runnable menyebabkan lebih banyak pekerjaan yang harus dilakukan karena kita harus mendeklarasikan sebuah object Thread dan memanggil method Thread dari object ini.

F. Komunikasi antar Thread

Method-method untuk komunikasi Interthread:

1. public final void wait()

Menyebabkan thread ini menunggu sampai thread yang lain memanggil notify atau notifyAll method dari object ini. Hal ini dapat menyebabkan InterruptedException.

2. public final void notify()

Membangunkan thread yang telah memanggil method wait dari object yang sama.

3. public final void notifyAll()

Membangunkan semua thread yang telah memanggil method wait dari object yang sama.

Penjelasan dari method ini adalah setiap anggota yang menunggu, hanya akan berjalan sampai anggota yang lain memberi tanda yang memerintahkan untuk berjalan.

G. Manfaat Thread

Dalam Java Threads :

1. JVM menggunakan prioritas preemptive berdasarkan algoritma penjadualan

2. Semua threads di Java mempunyai prioritas. Prioritas tertinggi dijadwalkan untuk dieksekusi oleh JVM

3. Jika ada 2 thread yang prioritasnya sama, digunakan algoritma First In First Out (FIFO)

H. Keuntungan Thread

1. Tanggap

2. Pembagian sumber daya

3. Pemberdayaan arsitektur multiprosesor

4. Ekonomis

Tidak ada komentar: