1. Pengertian Thread
- Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
- Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
- Kadang disebut sebagai proses ringan (lightweight).
- Unit dasar dari dari sistem utilisasi pada processor (CPU).
- Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
- Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
Ada 2 macam Thread adalah sebagai berikut:
a. Single-Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/ controller.
b. Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.
Jenis-jenis Multi Threading adalah:
3. Jenis-Jenis Thread1. Many-to-OneMemetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel.Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien.Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat.2. One-to-OneMemetakan setiap thread tingkatan pengguna ke thread kernel.Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.3. Many-to-ManyMengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.
- User thread, Selalu berasosiasi dengan kernel thread, Pustaka dilakukan di level user level (pengguna) sehingga lebih cepat, Salah satu thread yang melakukan blocking akan mencegah seluruh proses di mana thread tersebut berasal untuk ditunda (single thread kernel) SC: read , sleep Pthread (POSIX), Win32, Java
- Kernel thread Pengelolaan di level kernel lambat dianggap seperti proses Salah satu thread yang melakukan blocking, tidak mencegah seluruh proses tertunda .
- Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya 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.
- Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses itu sangat mahal. Alternatifnya thread membagi sumber daya dari proses, Jadi lebih ekonomis.
- Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat berjalan 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.
5. Kekurangan Dari Penggunaan Thread
- Jika digunakan secara berlebihan, akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk I/O terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan tugas secara berurutan, daripada menggunakan multithread yang masing-masing mengeksekusi sebuah task pada waktu yang sama.
- Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan.
- Multithreading menghasilkan program yang lebih kompleks. Menggunakan
multiple threadsendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan
kompleksitas tersebut. - Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber
daya hardwareseperti cache.
Sumber :
https://tintakopi.wordpress.com/2011/10/24/thread-multithread/
https://maungampus.blogspot.com/2013/09/pengertian-thread-dan-macam-macamnya.html
http://tugasqte.blogspot.com/2012/06/thread.html
http://khairul-rahman.blogspot.com/2009/08/3-keuntungan-dan-kerugian-thread.html
Tidak ada komentar:
Posting Komentar