(damn basic) Threading on Java + Qt

Kalau ditanya threading itu apa, aku definisikan begini: unit kecil dari program yang rutinnya dapat berjalan secara mandiri dari program induknya. Harusnya ada korelasinya dengan syscall fork(), tapi belum tahu di mana. :D

Mari pelajari code-nya:
- contoh thread di Java,
- contoh thread di Qt

Di Java, kita dapat membuat thread berupa sebuah class sendiri yang extends dari java.lang.Thread. Kita disuruh menimpa fungsi run() sesuka kita. Sebetulnya ada cara lain dengan implements dari java.lang.Runnable, tapi bukan preference-ku, deh!
--selebihnya perbedaan kedua metode bisa dibaca di artikel dari stackoverflow ini

Di Qt kurang-lebih sama, inherit QThread, tumpuk fungsi run(), dan viola!

Dari dua contoh di atas, kita bisa ambil kesimpulan:
- karena thread menjalankan hanya fungsi di run(), maka coding program bakal terasa sekuensial di situ (padahal OOP),
- beberapa thread bisa jalan secara independen (and kinda 'scrambled'), dan bisa diatur prioritasnya masing-masing,
- kita harus tahu bagaimana mengontrol thread: mulai, tahan, ulang, selesai, dan lainnya.
- thread rekursif? coba, deh! :)

____
Untuk fungsi-fungsi yang berkaitan dengan kontrol: start(), suspend(), stop(), prioritas , komunikasi antar thread, dan sebagainya bisa dirujuk sendiri ke dokumentasi masing-masing, ya!

1 rants:

AS46019 mengatakan...

lalah, aku publishnya telat

Posting Komentar