Artikel ini menjelaskan bagaimana Thread diimplementasikan
dalam bahasa pemrograman Java, dimulai dengan gambaran umum dari Thread.
Sederhananya, Thread adalah path program eksekusi.
Kebanyakan program yang ditulis saat ini dijalankan sebagai thread tunggal. Hal
ini menyebabkan masalah ketika beberapa peristiwa atau tindakan perlu terjadi
pada saat yang sama.
Katakanlah, misalnya, sebuah program tidak mampu melaksanakan
tugas saat menggambar ke layar monitor dan membaca penekanan tombol secara serentak atau
bersamaan.
Program ini harus memberikan perhatian penuh terhadap input keyboard
kurang kemampuan untuk menangani lebih dari satu aktivitas sekaligus. Solusi
ideal untuk masalah ini adalah eksekusi mulus dari dua atau lebih bagian dari
sebuah program pada saat yang sama. Threads memungkinkan kita untuk melakukan
hal ini. Artinya dengan menggunakan thread ini, kita diberi fasilitas untuk
menjalankan dua tugas sekaligus, misalnya membaca penekanan tombol keyboard
bersamaan (dalam waktu yang sama persis) dengan membaca inputan dari scanner.
Aplikasi yang menggunakan multithreaded memberikan kekuatan
ampuh mereka dengan menjalankan banyak Thread bersamaan dalam satu program,
tidak hanya dua, tapi bisa banyak. Dari sudut pandang logis, multithreading
berarti beberapa baris dari satu program dapat dijalankan pada saat yang sama.
Bukan berarti / tidak sama dengan menjalankan
aplikasi secara cepat dari dua atau
lebih aplikasi secara sekuensial. Ini benar benar menjalankan banyak baris
program secara bersama dalam waktu yang sama persisi. Dalam hal ini, sistem
operasi memperlakukan program sebagai dua proses yang terpisah dan berbeda.
Di
Unix, forking proses menciptakan proses anak dengan ruang alamat yang berbeda
untuk kedua kode dan data. Namun, fork () menciptakan banyak overhead untuk sistem
operasi, sehingga operasi CPU sangat intensif. Dengan memulai thread
sebaliknya, jalan yang efisien eksekusi dibuat saat masih berbagi daerah data
asli dari proses orangtua / proses pemanggil. Gagasan untuk berbagi daerah data
memang sangat bermanfaat, tetapi membawa beberapa hal yang harus menjadi
perhatian yang akan kita bahas nanti.
Contoh pembuatan Threads dalam Java :
import java.lang.*;
public class Counter extends Thread
{
public void
run()
{
....
}
}
Oh ternyata begini ya mas.
ReplyDeleteya , cukup sederhana sebenarnya
Delete