High Fashioners Issue # 2 | Page 302

J. E. N. I.
} this. str1 = str1; this. str2 = str2; this. ts = ts; thread = new Thread( this); thread. start();
} public void run() { synchronized( ts) { ts. print( str1, str2);
}
}
class TestThread { public static void main( String args []) { TwoStrings ts = new TwoStrings(); new PrintStringsThread(" Hello ", " there.", ts); new PrintStringsThread(" How are ", " you?", ts); new PrintStringsThread(" Thank you ", " very much!", ts);
}
} Program ini juga memiliki keluaran pernyataan-pernyataan yang benar.
9.6 Komunikasi antar thread( Interthread)
Pada bagian ini, Anda akan mempelajari mengenai method-method dasar yang digunakan thread untuk berkomunikasi dengan thread lain yang sedang berjalan.
Methods untuk komunikasi Interthread public final void wait()
Menyebabkan thread ini menunggu sampai thread yang lain memanggil notify atau notifyAll method dari object ini. Hal ini dapat menyebabkan InterruptedException.
public final void notify() Membangunkan thread yang telah memanggil method wait dari object yang sama. public final void notifyAll()
Membangunkan semua thread yang telah memanggil method wait dari object yang sama.
Tabel 1.5: Methods untuk komunikasi Interthread
Untuk mendapatkan penjelasan dari method ini, perhatikanlah skenario pelayanpelanggan. Pada skenario di sebuah restoran, seorang pelayan tidak akan menanyakan ke setiap orang apakah mereka akan memesan atau membutuhkan sesuatu, akan tetapi ia akan menunggu sampai pelanggan datang ke restoran tersebut. Pada saat seseorang datang, hal ini mengindikasikan bahwa ia mempunyai keinginan untuk memesan makanan dari restaurat tersebut. Atau juga bisa kita juga bisa kita nyatakan bahwa pelanggan yang memasuki restaurant mengindikasikan( notify) bahwa pelayan dibutuhkan untuk memberikan pelayanan. Akan tetapi, dalam kondisi sepert ini, seorang
Pengenalan Pemrograman 2 12