KEUNTUNGAN & KERUGIAN SERTA CONTOH MULTI-THREADING

 


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