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 pengguna sedang menulis laporan di OpenOffice sambil mencari referensi di Internet dengan menggunakan 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 pengguna sedang mencetak suatu lembar laporan yang
dilakukan di OpenOffice misalnya.
Kadang sambil menunggu cetakan selesai, pengguna bisa melihat-lihat cetakan
selanjutnya yang akan dicetak, dan kadang pengguna juga mengedit tulisan dengan
merubah ukuaran huruf atau warna huruf misalnya. inilah proses Thread Base multitasking yang terjadi
dalam kegiatan tersebut.
Dalam
proses multitasking, ada keadaan yang
mesti diketahui 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).