Banyak persoalan dalam pemrograman membutuhkan kemampuan satu program untuk melakukan beberapa hal, atau memberikan penanganan segera terhadap suatu kejadian/event tertentu dengan menunda aktifitas yang sedang dijalankan.
Contohnya, dalam sistem aplikasi jaringan GPS, kita bisa membuat suatu program untuk mengirim koordinat ke server dengan data yang sudah didapat sebelumya sembari program tersebut menangkap perubahan koordinat selanjutnya. Tanpa multithreading, program tersebut harus melakukannya secara sekuential dalam sebuah alur control tunggal, dimana program yang mengalami penantian dalam menangkap koordinat tidak dapat melakukan komputasi lain. Dalam masa penantian tersebut, CPU dalam keadaan idle yang menimbulkan ketidakefisienan keseluruhan program.
- Bukalah Netbeans
“private static int threadCount = 0;”
class alur implements Runnable {private int countDown=5;private int threadNumber = ++threadCount;
public alur(){form.append("Pembuatan thread ke " + threadNumber);}
public void run() {while(true){form.append("Thread "+ threadNumber+"("+countDown+") \n");if(--countDown==0){return;}}}}
“private static int threadCount = 0;”
private int countDown=5;private int threadNumber = ++threadCount;
public alur(){
form.append("Pembuatan thread ke " + threadNumber);
public void run() {
while(true){form.append("Thread "+ threadNumber+"("+countDown+") \n");if(--countDown==0){return;}}
for(int i=0 ;i<6;i++){
alur T = new alur();Thread TH = new Thread(T);TH.start();}form.append("Semua thread telah dibuat");
for(int i=0 ;i<6;i++){
alur T = new alur();
Thread TH = new Thread(T);
class alur extends Thread {private int countDown=5;private int threadNumber = ++threadCount;public alur(){form.append("Pembuatan thread ke " + threadNumber);}public void run() {while(true){form.append("Thread "+ threadNumber+"("+countDown+") \n");if(--countDown==0){return;}}}}
for(int i=0 ;i<6;i++){new alur().start();}form.append("Semua thread telah dibuat");
Posting Komentar