Thread di Linux
GNU/Linux menggunakan POSIX Standard Thread APT yang dikenal dengan nama pthread. Program dengan thread harus di-compile dengan option lpthread.
Pembuatan Thread
Setiap thread dalam sebuah program diidentifikasi dengan thread ID bertype pthread_t
Fungsi untuk membuat thread :
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
Parameter :
1 → thread ID
2 → thread attribute (NULL untuk default attribute)
3 → Fungsi yang ingin dijalankan
4 → Parameter untuk fungsi yang dijalankan
Contoh Kode
Parsing data ke Thread
Parameter ke-4 dari pthread_create adalah parameter yang akan dimasukkan ke fungsi yang dijalankan oleh suatu thread. Parameter ke-4 bertipe pointer void. Bagaimana jika ada lebih dari 1 nilai parameter yang ingin digunakan? Gunakan STRUCT.
Menanti Sebuah Thread
Thread akan dijadwalkan oleh sistem operasi. Pengguna tidak akan pernah tahu mana yang berjalan dahulu. Fungsi untuk menunggu eksekusi sebuah thread selesai :
int pthread_join(pthread_t thread, void **retval);
Parameter :
1 → thread ID yang ditunggu
2 → Variabel untuk menyimpan return value dari thread (NULL jika tidak dibutuhkan)
Fungsi penting lain dalam thread pthread_self() dan pthread_equal()
- Pthread_self() :Digunakan untuk mengetahui thread ID dari thread yang sedang aktif
- Pthread_equal() :Membandingkan thread ID yang satu dengan yang lain, apakah sama atau tidak


Komentar
Posting Komentar