Program:- import java.util.concurrent.*; import java.util.concurrent.locks.*; class Display { ReentrantLock l=new ReentrantLock(); public void wish(String name) { l.lock(); for(int i=1;i<=5;i++){ System.out.print("Good morning: "); try{Thread.sleep(500);}catch(Exception e){} System.out.println(name); } l.unlock(); } } class ThreadDemo2 extends Thread { Display d; String name; ThreadDemo2(Display d, String name) { this.d=d; this.name=name; } public void run() { d.wish(name); } public static void main(String args[]) { Display d=new Display(); ...