Ketika kita menjalankan suatu applikasi di komputer, seringkali kita lihat bahwa applikasi tersebut mempunyai UI yang bagus yang memudahkan kita dalam melakukan operasional maupun kerja dengan bantan komputer. Applikasi tersebut memiliki beberapa proses pada saat bersamaan(sebagai informasi, proses adalah program yang sedang dieksekusi/dijalankan). Proses-proses tersebut seringkali disebut dengan lightweight threads. Thread dapat disebut sebagai suatu kode(program) yang mempunyai variabel, program counter(pointer yang menunjuk pada sebuah intruksi yang dieksekusi), dan waktu hidup(lifetime) tersendiri. Sistem Operasi modern saat ini, membolehkan kita untuk melakukan lebih dari satu thread dalam satu proses.
Sebagai contoh, kita membuat program “Hello world” dalam pascal urut dari Begin sampai End. Source tersebut kita kompilasi lalu kita jalankan. Sebagian dari Anda pasti berpikir bahwa Program tersebut akan dieksekusi urut dari Begin sampai end. Karena program tersebut hanya mengeksekusi satu program dalam satu waktu(mengerjakan satu proses dalam satu waktu), maka dapat disebut program tersebut merupakan program single thread. Berbeda apabila kita membuat applikasi(dengan bahasa Java) misalnya. Kita membuat interface yang berguna untuk media interaksi antara user dan komputer. Interface tesrebut boleh dikatakan mempunyai beberapa thread(multithread), karena interface mempunyai dua proses ringan yang dikerjakan, yang pertama adalah proses yang melakukan berbagai macam kalkulasi yang diinstruksikan oleh user, sedangkan proses yang lain adalah sebagai antarmuka dan interaksi dengan user, seperti contoh: user mengeklik tombol, menginput nilai, dan lain sebagainya. Pemrograman multithread tentunya menggunakan algoritma yang sedikit berbeda dengan pemrogram single thread. Karena jika programmer membuat program yang mengakses data secara bersamaan dalam satu waktu program bisa crash.
Eksplorasi konten lain dari Oentoro
Berlangganan untuk dapatkan pos terbaru lewat email.