·
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
- 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.
- 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.
- 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.
- 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.
Tidak ada komentar:
Posting Komentar