Thread dan Multithread

Thread adalah kumpulan instruksi yang dieksekusi secara independen.

Thread adalah alur kontrol dari suatu proses

Multithreading adalah kemampuan yang memungkinkan beberapa kumpulan instruksi (thread) dijalankan secara bersamaan dalam sebuah proses

Manfaat dari multithreading: Ketika kita mengakses sebuah broswser thread yang terbuka terlebih dahulu biasanya “text” kemudian “gambar” dari contoh tersebut terlihat manfaatnya responsif; tidak nunggu gambar load semua baru memunculkan yang lain, kemudian berbagi sumber daya; dalam alokasi memori yang sama terdapat beberapa thread yang berbeda, lalu ekonomis; karena thread dapat membagi memori dan sumber daya-nya, dan terakhir utilisasi arsitektur prosesor; sebuah proses dijalankan pada arsitektur prosesor/multiprosesor, penggunaan multithread dapat meningkat ketika menggunakan multiprosesor, karena setiap prosesor dapat mengerjakan thread yang berbeda secara bersamaan.

multi-threading-model

3 model multi-threading:

  1. Many-to-One: memetakan beberapa thread tingkatan pengguna ke sebuah thread.
  2. One-to-One: memetakan setiap thread tingkatan ke setiap thread.
  3. Many-to-Many: multipleks banyak thread tingkatan ke thread kernel yang jumlahnya sdikit atau sama dengan tingkatan pengguna.

Reference:

  1. Multi-Threading 
  2. Keuntungan MultiThreading
  3. Model multi-threading