Tujuan
Mengetahui simulasi Proses
Mengetahui simulasi Single dan Multi Thread
Mengetahui Proses Deadlock
Langkah-langkah
1. Download JDK dan Netbeans di
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Cari paket Java SE Development Kit (JDK) Cobundles (JDK 7u51 with Netbeans 7.4), lalu
download
Buat Project baru di Netbeans. Pilih menu File > New Project.
Pilih Categories: Java, Project: Java Application
Klik Next dan beri nama project HelloWorld, tulis Project location: D:\praktikum-so lalu klik
Finish
Buka File HelloWorld.java lalu tambahkan kode berikut di fungsi main()
Tuliskan code sesuai pada baris pada gambar. Lalu jalankan dengan menekan keyboard F6
Perhatikan kode yang perlu ditambahkan dan diedit dengan baik! Tulis dengan teliti!
-
Beri Class Name: ThreadSleep dan pilih Package: simplethread lalu klik Finish. Lihat gambar
dibawah
6.
Thread Interrupt
Percobaan ini bertujuan mensimulasikan interupsi pada thread/proses
-
Masih pada project SimpleThread, buat Class baru, klik kanan pada project pilih New > Java
Class..
Beri Class Name: ThreadInterrupt, pilih Package: simplethread, lalu klik Finish
Tuliskan kode berikut. (Tulis dengan teliti!)
public class ThreadInterrupt implements Runnable{
public void run() {
try {
System.out.println("RUN - sleep selama 20 detik");
Thread.sleep(20000);
System.out.println("RUN - thread wake up");
} catch (InterruptedException e) {
System.out.println("RUN - di-interrupt ketika sleep");
return;
}
System.out.println("RUN - thread selesai dengan normal");
}
public static void main(String[] args) {
ThreadInterrupt interrupt = new ThreadInterrupt();
Thread t = new Thread(interrupt);
t.start();
try {
Thread.sleep(5000);
} catch (InterruptedException x) {
System.err.println(x.getMessage());
}
System.out.println("MAIN - menginterupsi thread lain");
try {
System.out.println("MAIN - sleep lagi 5 detik");
t.sleep(5000);
} catch (InterruptedException ex) {
System.err.println(ex.getMessage());
}
t.interrupt();
System.out.println("MAIN - thread berhenti / leaving");
}
}
7. Thread Join
Thread join bertujuan mensimulasikan Thread yang menunggu thread lain untuk selesai
-
8.
Masih pada Project SimpleThread, buat Class baru dengan ClassName: ThreadJoin, package:
simplethread lalu klik Finish
Pada Class yang beru terbuat tuliskan kode berikut: