请有人帮助我澄清这些概念来自c ++并尝试学习java一段时间,并且当我尝试尝试一些摇摆应用程序时,我刚刚达到这些条款(前两个)......
答案 0 :(得分:5)
SwingUtilities.invokeLater(Runnable r)
导致doRun.run()在AWT事件派发线程上异步执行。这将在处理完所有挂起的AWT事件后发生。当应用程序线程需要更新GUI时,应使用此方法。在以下示例中,invokeLater调用在事件派发线程上对Runnable对象doHelloWorld进行排队,然后打印一条消息。
new Thread(Runnable r)
分配一个新的Thread对象。此构造函数与Thread(null,target,gname)具有相同的效果,其中gname是新生成的名称。自动生成的名称的格式为“Thread - ”+ n,其中n是整数。
start()
启动时,在一个新线程中运行Runnable,该新线程是调用代码线程的背景。
Platform.runLater(Runnable r)
来自Platform API:
将来某个未指定的时间在JavaFX应用程序线程上运行指定的Runnable。可以从任何线程调用的此方法将Runnable发布到事件队列,然后立即返回给调用者。 Runnables按照发布顺序执行。传递给runLater方法的runnable将在任何Runnable传递给后续的runLater调用之前执行。
所以它表明这就像Swing的SwingUtilities.invokeLater(Runnable r)
,但它是JavaFX的味道。