The Java Program: Synch.java
1 // Synch.java -- no synchronization (from Handbook)
2
3 class Callme {
4 void call(String msg) {
5 System.out.print("[" + msg);
6 try {
7 Thread.sleep(1000);
8 } catch (Exception e) {
9 }
10 System.out.println("]");
11 }
12 }
13
14 class Caller implements Runnable {
15 String msg;
16 Callme target;
17 public Caller(Callme t, String s) {
18 target = t;
19 msg = s;
20 new Thread(this).start();
21 }
22 public void run() {
23 target.call(msg);
24 }
25 }
26
27 class Synch {
28 public static void main(String args[]) {
29 Callme target = new Callme();
30 new Caller (target, "Hello");
31 new Caller (target, "Synchronized");
32 new Caller (target, "World");
33 }
34 }