- Get link
- X
- Other Apps
- Get link
- X
- Other Apps
Thread, atau bisa juga dikatakan sebagai lightweight (proses ringan). Thread merupakan unit terkecil sebuah status eksekusi (ready, running, suspend, block, queue, dll) dalam suatu proses yang bisa dijadwalkan oleh sistem operasi. Thread ada 2 macam, yaitu Single-Threading atau singkatnya disebut Threading dan Multi-Threading. Single-Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali (controller). Sedangkan Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.
Pada artikel kali ini, kita akan membahas mengenai keuntungan, kerugian, dan contoh Multi-Threading. Check it out. Kita bahas keuntungannya dulu ya. Keuntungan Multi-Threading adalah :
1. Responsive
(tanggap)
Multi-Threading mengizinkan program
untuk berjalan terus walaupun 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. Ketika thread berjalan pada data yang sama,
thread tersebut bisa berbagi cache memory.
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
Keuntungan dari Multi-Threading
dapat ditingkatkan dengan arsitektur multiprocessor, dimana setiap
thread dapat jalan secara paralel pada processo ryang berbeda. Pada
arsitektur processor 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.
Banyak juga kan keuntungan Multi-Threading?
Pokonya bermanfaat sekali deh untuk kita yang hidup di era digital ini. Eitssss
tapi setiap keuntungan pasti memiliki kerugian dong. Nah, berikut ini merupakan Kerugian Multi-Threading.
1. Multiple thread bisa mengganggu satu sama lain saat berbagi hardware
resource, misalnya chace memory.
2. Execution time (waktu proses) dari sebuah single-thread
tidak dapat di-improve (ditambah), tapi malah bisa diturunkan. Ini
terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian
thread yang berjalan.
3. Harus
ada dukungan dari hardware ataupun software untuk melakukan Multi-Threading.
Untuk yang masih belum paham mengenai
penjelasan Thread. Berikut ini akan diberikan Contoh dari Multi-Threading.
Nah, Multi-Threading ini contohnya adalah web browser yang
sering kita gunakan, seperti Mozilla Firefox, Chrome, dll. Web browser disaat
yang bersamaan, web browser dapat mempunyai thread untuk menampilkan
gambar atau sekaligus sekaligus menerima data dari network. Pasti kita
sering melakukan ini. Membuka tab secara bersamaan pada satu waktu.
Contoh lain seperti web server dapat
mempunyai ratusan klien yang mengaksesnya secara concurrent. Ketika
kita mengakses web server, orang lain juga bisa mengakses web server yang
sama tanpa menunggu kita selesai menggunakannya. Ini tentunya sangat
bermanfaat. Bayangkan saja jika ribuan orang harus menunggu giliran untuk
mendapatkan akses. Prinsip kerja web server ini adalah web server akan
membuat thread yang akan mendengar permintaan klien. Ketika permintaan
lain diajukan, maka web server akan menciptakan thread lain yang akan
melayani permintaan tersebut.
Itulah keuntungan dan kerugian serta
contoh dari Multi-Threading. Semoga bermanfaat.
Comments
Post a Comment