相关疑难解决方法(0)

Java中的"实现Runnable"与"扩展线程"

从我在Java中使用线程的时间开始,我发现了这两种编写线程的方法:

implements Runnable:

public class MyRunnable implements Runnable {
    public void run() {
        //Code
    }
}
//Started with a "new Thread(new MyRunnable()).start()" call
Run Code Online (Sandbox Code Playgroud)

或者,用extends Thread:

public class MyThread extends Thread {
    public MyThread() {
        super("MyThread");
    }
    public void run() {
        //Code
    }
}
//Started with a "new MyThread().start()" call
Run Code Online (Sandbox Code Playgroud)

这两个代码块有什么显着差异吗?

java multithreading runnable implements java-threads

2023
推荐指数
30
解决办法
67万
查看次数

等到所有线程完成他们在java中的工作

我正在编写一个包含5个线程的应用程序,它们可以同时从Web获取一些信息,并在缓冲类中填充5个不同的字段.
当所有线程完成工作时,我需要验证缓冲区数据并将其存储在数据库中.
我该怎么做(当所有线程完成工作时收到警报)?

java multithreading wait

80
推荐指数
7
解决办法
13万
查看次数

逃离Swift中的闭包

我是Swift的新手,当我遇到逃脱闭合时,我正在阅读手册.我根本没有得到手册的描述.有人可以用简单的语言向我解释一下Swift中有什么逃避封锁.

closures swift

41
推荐指数
5
解决办法
1万
查看次数

可调用是否优于Runnable?

我已经理解了Java RunnableCallable接口之间的区别.从Java 1.5开始,在Runnable接口中添加了其他功能,并且Callable为了保持向后兼容性而调用了这些功能.

我现在的问题是我们有Callable接口,我们总是会使用它吗?不使用Callable和使用的用例有哪些Runnable

(是关于它们之间有什么区别的好文章)

java concurrency

37
推荐指数
4
解决办法
2万
查看次数

编程语言中的协方差和逆变

谁能解释我,编程语言理论中协方差和逆变的概念?

c# c++ java programming-languages covariance

20
推荐指数
5
解决办法
5758
查看次数

扩展Thread类和实现Runnable接口的场景

我是Java的线程编程的新手,因此这个基本问题.(我检查过,但以前找不到这个问题)

我读到可以通过继承Thread类或通过实现Runnable接口来创建线程.我看到一个代码同时出现在同一个类中.

public class ThreadExample extends Thread implements Runnable {
}
Run Code Online (Sandbox Code Playgroud)

我想知道这种情况会是什么样的,如果有什么优势,那是什么呢.

java multithreading runnable

11
推荐指数
2
解决办法
6615
查看次数

在哪里使用可调用以及在哪里使用Runnable接口?

我是Java的新手,我正在阅读多线程的概念,在进行多线程的各种实现时,我经历了这两个概念.这在Java问题中Runnable和Callable接口之间的区别指出了两者之间的区别以及使用的位置.

我怀疑Callable是否能够完成Runnable的所有功能,为什么这么多人使用Runnable而不是可调用?与Runnable Inteface相比,实现Callable接口是否有额外的开销?

java callable runnable

7
推荐指数
1
解决办法
1552
查看次数

什么是Java可调用?

标题几乎总结了它.

我想知道可调用的概念和想法.我在这里读到了一个关于可调用和可运行之间差异的问题.但没有人显示代码并详细说明可调用的内容.我不想知道它们之间的区别.我想知道 ,

  1. 什么是可赎回的?

  2. 何时使用它们以及如何使用它们.

  3. 当他们为Android行动时.

java android callable

6
推荐指数
1
解决办法
5060
查看次数

如何使用ExecutorService来处理中止的Runnable?

我有一个Worker类,implements Runnable并且有一个run()方法可以在发生冲突时引发异常,并提前返回.如果是,则需要将该线程放回队列中再次运行.

这个问题来看,似乎我需要重写Callable.那是对的吗?有没有办法做到这一点Runnable

java multithreading exception-handling

5
推荐指数
1
解决办法
781
查看次数

java 8 消费者何时比可运行接口更可取?

我的问题是在什么情况下或在什么情况下最好使用可调用接口而不是简单的单一方法功能接口。

假设我们有一个带有基于任务的事件处理系统的游戏。它每秒循环一个事件队列。每个事件都涉及一名玩家。在什么情况下最好这样做

Consumer<Player> c1 = (player) -> player.sendMessage("hey"); 
Run Code Online (Sandbox Code Playgroud)

超过

Runnable r1 = () -> player.sendMessage("hey");
Run Code Online (Sandbox Code Playgroud)

刚刚发现这个问题:Java 中 Runnable 和 Callable 接口之间的区别。它解释了有关多线程环境的一些要点,但我所说明的情况涉及单线程环境。那还有关系吗?

java functional-programming task consumer

2
推荐指数
1
解决办法
4114
查看次数

Java:从Runnable返回结果

假设以下简化示例.设B表示处理某些栅格数据的类:

import java.awt.image.BufferedImage;

public class B implements Runnable{
    private boolean c;
    private Runnable f;

    public B (boolean c_, Runnable f_) { c = c_; f = f_;}

    public BufferedImage process() {
            //Some operations
            BufferedImage output = null;
            if (c) output = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
            return output;
    }

    public void run() { process();}
}
Run Code Online (Sandbox Code Playgroud)

处理()方法可以但可能不产生输出评价者.由于计算成本,该过程在单独的线程中运行.

设A表示将在其中运行过程的类.它还包含一些等待线程完成后的后处理步骤:

import java.awt.image.BufferedImage;

public class A {
    public A(){}
    public void compute() {
            boolean c = true;
            B b = new B( c, …
Run Code Online (Sandbox Code Playgroud)

java multithreading return runnable

1
推荐指数
1
解决办法
1692
查看次数