Perbedaan Multithreading dan Multitasking Pada Java

Sebelum mengetahui perbedaan multithreading dan multitasking pada program Java maka kita sebaiknya juga mengetahui bagaimana sebenarnya multithreading itu dalam program.

Multithreading

Jadi dalam prosesnya, pada program itu bisa terdapat lebih dari satu thread yang berjalan secara bersamaan (concurrently). Sedangkan thread itu sendiri merupakan bagian individual dari suatu program yang berjalan. Oleh karena itu, multithread ini bisa dikatakan sebagai bentuk khusus dari multitasking.

Untuk lebih jelasnya lihat gambar di bawah ini.

multiple-thread-java
Multiple thread pada pemrograman Java

Multitasking

Ada 2 tipe multitasking yang perlu diketahui, yaitu process based multitasking dan thread based multitasking.

Process Based Multitasking

Dengan proses ini maka komputer bisa menjalankan dua atau lebih program secara bersamaan. Misalnya, Anda bisa mendownload berbagai file sambil browsing dengan Chrome atau Mozilla dan juga menonton video dengan VLC atau KMP player. Dalam proses ini, bisa disimpulkan jika program adalah unit kode terkecil yang bisa dikirimkan atau dieksekusi berdasarkan jadwal (schedule).

Thread Based Multitasking

Pada proses ini, thread adalah unit terkecil dari kode yang bisa dikirimkan. Perlu diketahui jika suatu program tunggal juga bisa melakukan dua tugas atau lebih secara simultan. Misalnya suatu program pengolah teks bisa saja mendeteksi kesalahan penulisan kata dan juga memformat teks.

6 Perbedaan Multithreading dan Multitasking

Berikut ini adalah beberapa perbedaan antara multitasking dan multithreading dalam bahasa pemrograman Java.

NoMulti TaskingMulti Threading
1Eksekusi dari beberapa program yang berjalan. Satu program itu sendiri bisa terdiri dari beberapa thread.Bagian individual dari suatu program. Beberapa thread bisa berjalan dalam suatu program.
2Setiap program memiliki address space-nya sendiriMultiple thread mungkin berbagi address space
3Merupakan proses "kelas berat"Merupakan proses "ringan"
4Pertukaran konteks dari suatu proses ke proses lainnya tidak mudah (high cost)Pertukaran konteks mudah dilakukan (low)
5Proses komunikasi antar program adalah mahalKomunikasi antar thread tidak mahal
6Tidak berada di bawah kendali JavaBerada di bawah kontrol Java

Multithreading memungkinkan Anda untuk menghasilkan pemrosesan suatu program secara maksimum dengan kode yang efisien.

Be the first to comment

Leave a Reply

Your email address will not be published.


*