I define a global static object as a synchronization lock.
public static Object ConfirmationSynObj = new Object();
The following function i
You might be creating and starting the thread in the synchronized block, but when the thread comes to Config.ConfirmationSynObj.notify(); you'll notice that there's no synchronization.
Config.ConfirmationSynObj.notify();
You'll need to add a synchronized block inside run().