Belajar Cara Membuat Thread Pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada kesempatan kalin ini saya akan mengajarkan pada kalian mengenai Dasar-dasar penggunaan Thread dan Runnable pada java, Thread dan Runnable digunakan untuk membuat aplikasi multitasking atau aplikasi yang bisa menjalankan tugas ganda secara bersamaan.

Belajar Cara Membuat Thread Pada Java

Contohnya jika saat kita menggunakan windows, kita pasti sering sekali mendengarkan musik menggunakan VLC atau sejenisnya, sambil berselancar di Internet, atau menonton video sambil mendownload file, itulah yang disebut multitasking, proses multitasking akan diolah oleh sumberdaya CPU yang sama.

A. Thread

Thread merupakan sebuah rangkaian eksekusi yang berjalan ketika program dijalankan atau bisa disebut sebagai kode yang mengatur alur jalannya program, jika kalian masih bingun, kita akan membuat contoh program sederhana menggunakan Thread pada java.

Materi Yang Harus Kalian Kuasai:

Pada contoh yang pertama ini, kita akan membuat program sederhana yang menampilkan output setiap 1 detik sekali menggunakan thread dan for loops, sebelumnya kita sudah belajar mengenai penggunaan for loop pada java, jadi disarankan kalian sudah memahaminya.

public class latihan_thread {
    
    public static void main(String[] args) {
        int jumlah = 10;
        Thread thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Nomor: "+w);
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
        thread.start();
    }
}

Jika kita jalankan program tersebut akan melooping dan mengeluarkan output sebanyak 10 kali, program akan mengeluarkan output 1 kali per detiknya, itulah yang membedakan program yang menggunakan thread dan yang tidak, jika kita tidak menggunakan thread atau hanya for loop saja, maka program akan mengeluarkan semua output tersebut sekaligus, sleep(1000) artinya kita mengset waktu pending selama 1000 millisecond/1detik, try dan catch digunakan untuk mengkap jenis error InterruptedException agar program tidak crash saat error itu terjadi.

InterruptedException terjadi karena thread berhenti sementara, jadi kalian bisa melakukan apa saja jika thread berhenti sementara.

Selanjutnya untuk contoh kedua, kita akan membuat program multitasking sederhana menggunakan thread, pada program tesebut, kita akan membuat 2 buah method, kedua method tersebut mempunyai output yang berbeda, saat program dijalankan, output tersebut akan keluar secara bersamaan setiap 1 detik sekali.

import static java.lang.Thread.sleep;

public class latihan_thread{
    
    Thread thread;
    int jumlah = 7;
    
    public static void main(String[] args) {
        latihan_thread test = new latihan_thread();
        test.proses_satu();
        test.proses_dua();
    }
    
    void proses_satu(){
         thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Nomor: "+w);
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
         thread.start();
    }
    
    void proses_dua(){
            thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Salam Programmer");
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
         thread.start();
    }
}

B. Runnable

Runnable digunakan agar thread bisa menjalankan tugasnya, cara paling sederhana untuk membuat thread adalah dengan mengimplementasikan interface Runnable pada class java kita, jadi kalian cukup menimplementasiakan fungsi dari method run.

import static java.lang.Thread.sleep;

public class latihan_thread implements Runnable{
    
    int jumlah = 10;
    
    public static void main(String[] args) {
        latihan_thread test = new latihan_thread();
        test.run();
    }

    @Override
    public void run() {
       try{
          for(int w=1; w<=jumlah; w++){
            System.out.println("ID: "+w);
            sleep(1000); //Waktu Pending
          }
       }catch(InterruptedException ex){
              ex.printStackTrace();
       }
    }
}

Jalankan program tersebut, hasilnya akan sama dengan program sebelumnya, kedua cara tersebut sama saja fungsinya, tergantung kebutuhan kalian.

Sekian tutorial dari saya, mohon maaf bila ada keslahan, jangan lupa untuk share serta follow fansPage blog ini untuk mendapatkan update terbaru, jika ada yang ingin kalian tanyakan, silakan isi komentar dibawah.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.