Thread adalah sebuah alur kontrol dari sebuah proses (program yang dieksekusi sedang dijalankan). Merupakan jalur eksekusi tunggal dengan stack eksekusi, status processor, dan informasi penjadwalan. Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama. Bedanya thread dengan proses adalah pembentukan thread yang membutuhkan waktu lebih sedikit dari proses, waktu yang digunakan untuk mengakhiri thread juga lebih sedikit dari proses, dan lebih mudah serta cepat untuk melakukan switch antara thread daripada switch antara proses.
Keuntungan menggunakan thread adalah
- Memerlukan waktu pembuatan thread baru yang jauh lebih singkat proses baru.
- Pemberhentiannya memerlukan waktu yang lebih singkat.
- Memerlukan waktu yang lebih singkat untuk beralih dari satu thread ke thread lain dalam satu proses.
- Selama sejumlah thread berada pada proses yang sama dan saling berbagi memori, maka thread dapat berkomunikasi tanpa melibatkan kernel
- Banyak user thread yang dipetakan ke single kernel
- Thread dikontrol dari ruang user
- Tidak bisa berjalan pada multiprosesor
- contohnya : Solaris Green Threads,GNU Portable Threads
2. One to one
- Setiap user thread dipetakan ke kernel thread
- Jumlah dari user thread sifatnya terbatas
- contoh : Windows NT/XP/2000, Solaris 9, Linux
3. Many to many
- Memperbolehkan banyak thread yang dipetakan ke banyak prosesor.
- Contoh : Solaris prior version 9
Deklarasi Thread
- &thread = 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
Output dari program sederhana diatas adalah

Tidak ada komentar:
Posting Komentar