Konsep Dasar Program Multithreading

Seperti yang kita ketahui bahwa bahasa pemrograman java adalah bahasa yang memiliki banyak sekali fitur yang unik, salah satunya adalah fitur multithreading. Suatu program dengan menggunakan fitur multithreading dapat menjalankan 2 atau lebih kegiatan dalam waktu yang bersamaan. Konsep ini juga biasa disebut dengan multitasking.

Sebenarnya multitasking dibagi menjadi 2 bagian; Process Based dan Thread Base. Process Based adalah multitasking saat suatu program dijalankan bersamaan dengan program lain dalam satu waktu. Contoh kasus suatu multitasking Process Based adalah bila kita sedang menulis laporan di OpenOffice sambil mencari referensi di Internet dengan menggunakan Software Mozila sebagai Software Browser dalam satu waktu. Hal ini kita sedang menggunakan 2 software dalam satu waktu.

Thread Base adalah multitasking saat suatu program dijalankan, program itu dapat melakukan proses – proses lain yang dilakukan bersamaan dalam suatu waktu. Contohnya adalah bila kita sedang mencetak suatu lembar laporan yang kita lakukan di OpenOffice misalnya. Kadang sambil menunggu cetakan selesai, kita biasa melihat-lihat cetakan selanjutnya yang akan dicetak, dan kadang kita juga mengedit tulisan dengan merubah ukuaran huruf atau warna huruf misalnya. Nah, inilah proses Thread Base multitasking yang terjadi dalam kegiatan tersebut.

Lalu apa sich gunanya fitur ini di program kita???

Nah,,untuk kamu yang pernah belajar organisasi komputer atau mungkin lebih lanjut ke arsitektur komputer pasti kamu mengetahui bahwa device I/O seperti keyboard, mouse dan lain sebagainya, mempunyai kecepatan yang lebih jauh lambat dibanding dengan kecepatan si proses dalam hal ini adalah Processor. Kenapa bisa begitu??? silakan buka kembali modul-modul organisasi komputer atau arsitektur komputer karena saya tidak membahas di artikel ini.

Untuk menghemat waktu dan memaksimalkan kerja dari Processor yang memiliki kecepatan lebih dari pada device I/O, maka saat kita menunggu masukan atau keluaran dari device I/O, kita suruh si Processor mengerjakan kegiatan lain biar gak mubajir core 2 duonya..hehehe.

Dalam proses multitasking, ada keadaan yang mesti kita ketahui yaitu keadaan saat berjalan ( Running ) artinya adalah Processor menjalankan suatu kegiatan. Keadaan menghentikan sementara ( Suspend ) adalah kegiatan dari processor dihentikan sementara sampai keadaan dilanjutkan yaitu keadaan Resumed atau kadang keadaan pembatalan kegiatan processor ( Blocked ) dan terakhir keadaan selesai atau finishing ( Terminating ).

Mungkin itu saja penjelasan dari program multitasking atau multithreading. Lebih jelasnya, nanti saya jelaskan implementasi di program sederhana dengan bahasa java.

Iklan

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s