Java - 基本多线程

标签 java

我想问一下关于 Java 线程的基本问题。让我们考虑一个生产者-消费者场景。假设有一个生产者和 n 个消费者。消费者随机到达,一旦他们被服务,他们就会离开,这意味着每个消费者都在自己的线程上运行。我还应该为消费者使用永远运行的条件吗?

public class Consumer extends Thread {
    public void run() {
        while (true) {
        }
    }
}

这不会让线程永远运行吗?

最佳答案

我不会扩展 Thread,而是实现 Runnable。

如果你想让线程永远运行,我会让它永远循环。

一个常见的替代方法是使用

while(!Thread.currentThread().isInterrupted()) {

while(!Thread.interrupted()) {

关于Java - 基本多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056548/

相关文章:

java - 如何使用 Java DateTimeFormatter 舍入到最知名的 INSTANT_SECONDS 值?

java - 在 Java 中获取 Nashorn JsonObject

java - 管理交易的最佳方式

java - javax.swing.plaf.synth.SynthContext.getPainter 处的 NullPointerException

Java就是这个垃圾收集器

java - Android位图到 ListView

java - EJB 可伸缩性 : due to what

java - 单击按钮后如何获取 JSON 中的 id,并希望在 post 方法中再次发送该 id

java - org.hibernate.boot.registry.classloading.spi.ClassLoadingException:无法加载类[emp.hbm.xml]

java - java中唯一字符串的唯一十六进制