Java等待变量被设置
有没有办法等到CalibrateAGUI运行完毕后再设置dict 编辑:Java等待变量被设置,java,user-interface,Java,User Interface,有没有办法等到CalibrateAGUI运行完毕后再设置dict 编辑: 我肯定calibrate在同一个线程上,但是,如果我在dict=new HashMapStore.getDictionary下打印某个内容,它会立即打印。如果calibrate在主程序之外的同一个线程中执行,那么执行是同步的,我的意思是每个句子都是按顺序执行的,因此您不需要做任何特殊的事情 另一方面,如果Calibrete.run在其他线程中被执行,也许您可以考虑使用Futurtask.GET,它将等到进程结束继续执行。
我肯定calibrate在同一个线程上,但是,如果我在dict=new HashMapStore.getDictionary下打印某个内容,它会立即打印。如果calibrate在主程序之外的同一个线程中执行,那么执行是同步的,我的意思是每个句子都是按顺序执行的,因此您不需要做任何特殊的事情
另一方面,如果Calibrete.run在其他线程中被执行,也许您可以考虑使用Futurtask.GET,它将等到进程结束继续执行。
校准是否启动一个新线程或提交要在另一个线程中完成的工作?如果不是,则dict=。。。在calibrate.run完成之前,不会执行该行。或者更确切地说,格言=。。。线路始终在calibrate.run完成后运行-唯一的问题是您是否可以确保在该点实际完成校准。什么是校准?它是否有一个可以调用的方法,该方法返回一个布尔值,指示它是否完成了?更好的是,它是否有一种方法来注册一个事件监听器,该监听器将接收一个指示它已完成的事件?Calibrate只是另一个运行gui的类,同一个线程
Calibrate calibrate = new Calibrate();
calibrate.run();
dict = new HashMapStore().getDictionary();