Multithread --> bisa meningkatkan pembagian sumber daya proses, ekonomis dan kemampuan mengambil keuntungan dari arsitektur multiprosesor
User level thread --> thread rule yang di kode oleh user dan tidak diketahui oleh kernel (misal koding dalam bahasa C yaitu library thread)
Kernel Level Thread --> dikelola oleh kernel sistem operasi secara umum
Thread sendiri terbagi menjadi 2 macam
- Single Thread
- Multi Thread
Case Example
Anda adalah seorang user yang ingin mengerjakan sebuah dokumen sambil mendengarkan lagu untuk mengurangi kesepian.
Single Thread --> Anda harus selesai menginput string dahulu baru bisa mendengarkan sebuah lagu, karena thread yang ada bersifat sequential
Multi Thread --> Anda bisa secara bersama-sama mendengar lagu sambil menginput sebuah string karena thread yang ada banyak dan bersesuaian dengan arsitektur multiprosesor komputer anda
Deklarasi Thread
Kita akan memulai membuat sebuah User Thread yang didasarkan pada Bahasa C. Seperti biasanya, kita akan mendeklarasikan Thread layaknya sebuah tipe data primitif
Deklarasi Thread |
Thread Creation |
4 parameter diatas:
- &threadX = alamat dari variabel yang kita deklarasi, berupada ID thread yang baru dibuat
- NULL (yang pertama) = atribut yang kita ingin tambahkan ke thread
- print_message_functionX = alamat Fungsi yang akan dijalankan oleh thread
- NULL (yang kedua) = parameter yang akan di pass ke fungsi
Contoh program dengan Thread
Single Thread |
Output:
Penjelasan:
Program di atas menggunakan Single Thread untuk masing-masing fungsi (print_message_function). Sehingga outputnya tidak bisa diprediksi sesuai komputer masing-masing menjalankan thread yang mana dahulu.
0 comments:
Post a Comment