Monday, January 5, 2015

Apa itu Thread dan Apa Guna Thread?

Unknown
Thread --> merupakan alur kontrol dari sebuah proses
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
 Proses hanya mengeksekusi satu thread saja pada satu waktu --> proses hanya dapat melalukan satu perintah pada satu waktu

  • Multi Thread
Proses dapat mengeksekusi banyak thread pada satu waktu --> proses dapat menjalankan lebih dari satu thread pada waktu yang sama

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
Pada dasarnya, setiap program yang dijalankan dan menjadi proses, ia akan mempunyai default thread (single thread). Diatas kita sudah menambahkan thread tambahan sebagai multi 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.





About the Author

Unknown / Author & Editor

0 comments:

Post a Comment

Powered by Blogger.

Text

Popular Posts