草庐IT

RUNNABLE

全部标签

java - 以编程方式创建 Spring Framework 任务?

我需要在我的应用程序中即时创建任务。我怎样才能做到这一点?我可以获得带有@autowired注释的调度程序,但调度程序采用Runnable对象。我需要提供Spring对象,以便我的任务也可以使用@autowired注释。@AutowiredprivateTaskSchedulertaskScheduler; 最佳答案 您只需将目标对象包装在Runnable中,然后提交:privateTargettarget;//thisisaSpringbeanofsomekind@AutowiredprivateTaskSchedulertask

java - 这个代码块是什么意思?

匿名类newRunnable(){中run()下面的第二个block是什么意思:publicBackgroundThread(finalRunnablerunnable){super(newRunnable(){finalRunnableval$runnable;publicvoidrun(){Process.setThreadPriority(10);runnable.run();}{runnable=runnable1;super();}});}编辑:是的,它是反编译代码。 最佳答案 这是一个instanceinitialize

Java : What happens if a Runnable that is being used in a thread is set to null?

假设我做了以下...//MyRunnable是我声明的一个类,它实现了Runnable。MyRunnabler=newMyRunnable();Threadt=newThread(r);t.start();r=null;像我在上面的代码片段中那样将r设置为null有什么含义? 最佳答案 让我用数字向您解释一下:1-在MyRunnabler=newMyRunnable();你正在创建类MyRunnable的新实例,它主要实现了Runnable接口(interface):2-在Threadt=newThread(r);您正在创建一个新线

java - SwingUtilities.invokeLater 需要一个 Runnable 并在 EDT 上运行它?

我对SwingUtilities.invokeLater的签名感到困惑。它需要一个Runnable对象。是这个Runnable对象交给了EventDispatchThread吗?为什么我不能在EDT的run方法上直接调用createAndShowGUI(如果可能的话)?我有readarticles关于如何EDT和invokeLater工作,但我对传递的Runnable对象感到困惑。SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createAndShowGUI();}});如果我在调用之后再次调用SwingUtiliti

java - 谁能给我解释一下这个 javax swing 方法?

我无法理解这个简单的代码:javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createAndShowGUI();}});任何人都可以向我解释它是如何工作的(简单来说,因为我是新手)?此短代码是此largercode的一部分.更具体地说,我有以下问题:“publicvoidrun”是否定义了一个新方法?如果是这样,为什么它在另一个方法中定义(参见“更大的代码”以供引用)?如果“publicvoidrun”定义了一个新方法,定义一个只包含一行代码的方法(createAndShowGUI)的原因是什么?

Java 等效于 C# Delegates(将要执行的各种类的方法排队)

简单描述:是否有与C#的delegates等效的Java这将允许我将各种类的方法排队并动态地将它们添加到队列中?语言构造而不是代码。上下文:我以前使用过Unity3D,我喜欢脚本的Update方法。只需声明该方法即可将其添加到每帧执行的方法列表中。我想在我的LWJGL游戏中创建类似的东西。为此,我想使用委托(delegate)(或类似的东西)。是否有任何Java语言结构可以让我这样做?我更喜欢包含两个或更多(这样我就可以挑选最适合我的代码的)构造和使用它们的方法的答案。我不想要代码,我只想知道从哪里开始。编程中最有趣的部分是解决问题,我不想被剥夺这一点。另外,我不想被确切地告知如何去做

java - 如何在所有线程完成后才执行一段代码

我有一个日志记录代码,需要在所有Threads执行后执行。Threadt1=newMyThread();Threadt2=newMyThread();t1.run();t2.run();doLogging();是否有任何方法可以仅在两个线程都完成处理后才执行doLogging()。现在,一旦t1和t2启动,就会调用doLogging()。 最佳答案 只是join()doLogging()调用之前的所有线程:t1.join();t2.join();//thefollowinglinewillbeexecutedwhenboththre

java - 将来有结果?

我希望从一个方法中获得结果,该方法可能需要一段时间才能完成并且实际上不会返回对象,因此我想尽可能有效地处理它。这是我要实现的目标的示例:publicstaticvoidmain(String[]args){Objectobj=someMethod();System.out.println("Theobjectis"+obj+",wooh!");}publicvoidcallObject(){//Sendsrequestfortheobject}publicvoidreceiveObject(Objectobject){//Receivedtheobject}publicObjectso

java - 我们可以创建 Runnable 的对象作为它的接口(interface)吗

我看到一个示例代码,其中使用了newRunnable()并且它是匿名内部类。Runnablerunnable=newRunnable(){publicvoidrun(){intoption=(int)(Math.random()*4);switch(option){case0:x.a();break;case1:x.b();break;case2:y.a();break;case3:y.b();break;}}};感谢任何帮助。我是新手。 最佳答案 是的。我们可以。这就是所谓的匿名内部类。不仅Runnable,您还可以匿名创建任何接

java - 为什么在它是成员而不是变量时通过名称引用匿名内部类有效?

抱歉,标题很血腥,我不知道如何用一行来描述这个问题。如果您有任何建议,我很乐意。假设您有以下类(class):publicclassSomeClass{//doesn'tevenneedtobefinal,whichisfreakyRunnablememberRunnable=newRunnable(){publicvoidrun(){SomeOtherClass.someMethod(memberRunnable);//thisworks}}publicvoidsomeMethod(){finalRunnablevarRunnable=newRunnable(){publicvoid