Answer: Sure - try this
You will need to link to these: M1.java W1.java
// Determine whether there are other ways to wake up threads
public class Q64 {
public static void main (String arg[]) {
M1 m1 = new M1 (false); // Use notifyAll()
M1 m2 = new M1 (false); // Use notifyAll()
W1 w1 = new W1 (1, m1);
W1 w2 = new W1 (2, m2);
W1 w3 = new W1 (3, m1);
w1.start();
w2.start();
w3.start();
try { Thread.sleep(1000); } catch (Exception e) {}
w1.interrupt(); // One way to get a waiting thread to go
System.exit(1);
}
}