Implementasi Thread dan Multithread Server

IMPLEMENTASI THREAD

Definisi Thread

Thread yaitu kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren.
Ada dua cara yang bisa digunakan dalam membuat sebuah thread, yaitu :

1. Membuat subclass dari thread
Untuk menjalankan thread, dapat dilakukan dengan start(). Saat start() dijalankan, maka sebenarnya method dijalankan. Jadi untuk membuat thread, harus mendefinisikan pada definisi class. Konstruktor dari cara ini adalah :
ClassThread namavar = new ClassThread();
Namavar.start();
Atau dapat juga langsung dengan cara:
New ClassThread().start();

2. Mengimplementasikan interface Runnable
Cara ini merupakan cara yang paling sederhana dalam membuat thread. Runnable merupakan unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya cukup mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita akan mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara ini adalah :
ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau dengan cara singkat seperti :
New Thread(new ObjekRunnable());

Pemakaian Thread

Alasan pemakaian threads:
1. Multiple sequential threads bisa dijalankan secara quasi-parallel
2. Lebih mudah di-create dan di-delete
3. Performance
4. Lebih sesuai diterapkan pada sistem dengan multiple CPU

IMPLEMENTASI THREADS PADA USER-SPACE

Kegunaan Thread

Multithreading berguna untuk multiprocessor dan singleprocessor.

Kegunaan untuk system multiprocessor adalah :

· Sebagai unit pararel atau tingkat granularitas pararelisme.

· Peningkatan kinerja disbanding berbasis proses.

Kegunaan multithreading pada singleprocessor, adalah :

· Kerja foreground dan background sekaligus di satu aplikasi.

· Penanganan asynchronous proseccing menjadi baik.

· Mempercepat eksekusi program.

· Pengorganisasian program menjadi lebih baik.

 

Manfaat utama banyak thread di satu proses adalah memaksimumkan derajat kongkurensi antara operasi-operasi yang terkait erat. Aplikasi jauh lebih efisien dikerjakan sebagai sekumpulan thread disbanding sekumpulan proses.

 

Karakteristik Thread

Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :

· Ruang alamat.

· Himpunan berkas yang dibuka.

· Proses-proses anak.

· Timer-timer.

· Snyal-sinyal.

· Sumber daya-sumber daya lain milik proses.

Tiap thread mempunyai property independen berikut seperti :

· Keadaan (state) eksekusi thread (running, ready dan sebagainya).

· Konteks pemroses. Thread dapat dipandang sebagai satu PC (program counter) tersendiri independen di satu proses.

· Beberapa penyimpan static per-thread untuk variable-variabel local.

 

 

MULTITHREAD SERVER

Definisi Multithread

Arti istilah Multithreading dianggap berkaitan erat dengan pengertian multi thread merupakan jalannya beberapa proses dengan urutan yang cepat (multitasking) dalam satu program. Multithreading ini merupakaan teknik pada manipulasi data dimana node-node pada struktur pohon data berisi penunjuk ke node yang lebih tinggi untuk membuat lintasan struktur menjadi lebih efisien.

Keuntungan MultiThreading

Multiprocessing merupakan penggunaan dua atau lebih CPU dalam sebuah sistem komputer. Multitasking merupakan metode untuk menjalankan lebih dari satu proses dimana terjadi pembagian sumberdaya seperti CPU. Multithreading adalah cara pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen.

 

Sumber :

http://amicowo.wordpress.com/2011/07/18/pengertian-thread/                   

http://zaki-mystory.blogspot.com/2010/03/multi-threading.html

http://ikc.unimal.ac.id/umum/ibam/ibam-os-html/x1415.html

 

 

 

 

Leave a comment