草庐IT

runnables

全部标签

带有 Runnable 类 : Is Receiver missing? 的 java 命令模式示例

来自ExamplesofGoFDesignPatternsinJava'scorelibraries问题,有人引用Allimplementationsofjava.lang.RunnableareexamplesofCommandpattern.根据我对命令模式的理解,Client调用Invoker=>Invoker调用ConcreteCommand=>ConcreteCommand调用Receiver方法,该方法实现了抽象的Command方法。看看这个工作example来自thisarticle的命令模式UML图如下图所示。看看这段代码:publicclassThreadComman

java - java如何区分Lambda中的Callable和Runnable?

我得到了这个小代码来测试Callable。但是,我发现编译器如何知道Lambda是用于可调用接口(interface)还是可运行接口(interface)非常令人困惑,因为它们的函数中都没有任何参数。然而,IntelliJ显示Lambda使用Callable的代码。publicclassApp{publicstaticvoidmain(String[]args)throwsInterruptedException{ExecutorServiceexecutorService=Executors.newCachedThreadPool();executorService.submit((

java - 通过扩展 Thread 类或实现 Runnable 创建线程哪个更可取?

这个问题在这里已经有了答案:"implementsRunnable"vs"extendsThread"inJava(43个回答)关闭9年前。我想知道通过扩展线程类或通过实现Runnable接口(interface)创建线程哪个更可取。为什么?谢谢..

java - 哪里用callable,哪里用Runnable接口(interface)?

我是Java的新手,我正在经历多线程的概念,在经历使用多线程的各种实现时,我经历了这两个概念。这ThedifferencebetweentheRunnableandCallableinterfacesinJava问题指定两者之间的区别以及使用位置。我的疑问是,如果Callable能够完成Runnable的所有工作,为什么那么多人使用Runnable而不是callable?与Runnable接口(interface)相比,实现Callable接口(interface)是否有额外的开销? 最佳答案 之前有java.util.concur

java - 扩展 Thread 类的主要优点是什么(或何时扩展 Thread 而不是实现 runnable)

我试图找出扩展Thread类的可能优势是什么?这是我描述的另一个问题的一部分:Java中有两种创建线程的方式从Thread类扩展实现可运行接口(interface)如解释here使用可运行接口(interface)有几个好处。我的问题是从Thread类扩展的优势是什么?我想到的唯一优点是可以从Thread类扩展,假设将其称为ThreadExtended类。然后他/她可以在ThreadExtended中添加更多功能(我不知道那可能是什么),然后当他/她想要创建一个线程时,它不是从Thread类扩展,而是从ThreadExtended扩展。使用Thread类而不是Runnable接口(in

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 - 我们可以创建 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 - 停止提交给 ExecutorService 的 Runnable

我已经在我的Java应用程序中实现了订阅。添加新订阅者时,应用程序会创建新任务(实现Runnable的类以在单独的线程中运行)并将其添加到ExecutorService中,例如:publicvoidSubscribe(){es_.execute(newSubscriber(this,queueName,handler));}//...privateExecutorServicees_;应用程序可以注册任意数量的订阅者。现在我想实现类似Unsubscribe的东西,这样每个订阅者都可以停止消息流。在这里,我需要一种方法来停止在ExecutorService中运行的任务之一。但我不知道该怎

java - Eclipse创建runnable jar问题

好的,我在Eclipse中使用Java类及其主要方法创建了一个新的Java项目。然后在执行导出时-可运行的jar我没有看到我的新项目列在“启动配置”下拉列表中。我可以看到其他项目,但看不到新创建的项目。我是不是漏了什么?publicclassSSLTest{publicstaticvoidmain(String[]args){}} 最佳答案 您是否在Eclipse中运行了SSLTest?我认为您需要运行该类(通过“运行”菜单)以便Eclipse创建启动配置。 关于java-Eclipse