Rabu, 26 Desember 2012

Multithreading dan java


·         Multithreading dan java
Thread ( sering kali di sebut juga lightweight process atau execution context  ) adalah sebuah single sequential flow of control di dalam sebuah program . secara sederhana thread adalah sebuah subprogram yang berjalan di sebuah program . seperti hal nya sebuah program sebuah thread mempunyai awal dan akhir . sebuah program dapat mempunyai beberapa thread di dalam nya , jadi perbedaannya program yang multithreaded mempunyai beberapa  flow of control yang berjalan secara konkuren atau pararel sedangkan  program yang single threaded hanya mempunyai satu flow of control .
Dua program yang dijalankan secara terpisah ( dari command line secara terpisah ) berada pada dua address space yang terpisah .   jika program itu berjalan di atas mesin dengan single processor maka thread – thread itu di jalan kan secara konkuren ( dengan mengeksekusi secara bergantian dari satu thread ke thread yang lain nya ). Jika program itu berjalan di atas mesin dengan multiple processor , maka thread–thread itu bias di jalan kan secara parallel ( masing – masing thread berjalan di processor yang terpisah ) .
·         Keuntungan Multi Thread
  1. Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
  2. Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama.
  3. Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
  4. Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
sumber :www.Google.com

Tidak ada komentar:

Posting Komentar