!
%
(
$
+
%
%
)
%
“Target” như là “target (mục tiêu), và tạo ra 3 đối tượng của lớp “Source” (nguồn). Cùng
đối tượng “target” được truyền cho mỗi đối tượng “Source”. Phương thức “join()” (gia
nhập) làm luồng được gọi đợi cho đến khi việc gọi luồng bị ngắt.
Chương trình 8.4
class Target {
/**
* Target constructor comment.
*/
synchronized void display(int num) {
System.out.print("<> "+num);
try{
Thread.sleep(1000);
}catch(InterruptedException e){
System.out.println("Interrupted");
}
System.out.println(" <>");
}
}
class Source implements Runnable{
int number;
Target target;
Thread t;
/**
* Source constructor comment.
*/
public Source(Target targ,int n){
target = targ;
number = n;
t = new Thread(this);
t.start();
}
public void run(){
synchronized(target) {
target.display(number);
}
}
}
class Sync {
/**
* Sync constructor comment.
*/
public static void main(String args[]){
Target target = new Target();
int digit = 10;