当前位置: 首页 > 面试题库 >

Java中的线程

晏望
2023-03-14
问题内容

今天有人在采访中问我有关Java线程概念的问题吗?问题是…

  1. 什么是线程?
  2. 我们为什么要穿线?
  3. 线程上的实时示例。
  4. 我们可以在Spring框架服务类中创建线程吗?
  5. flex可以调用线程吗?

除了Thread的定义之外,我没有回答任何问题,我也是从互联网中学到的。

谁能对此清楚地解释我。

更新

线程和普通的Java类之间有什么区别。为什么我们需要线程…我可以在线程中执行业务逻辑吗?我可以在线程中调用不同的类方法吗?


问题答案:

要创建线程,请创建一个扩展Thread该类的新类,然后实例化该类。扩展类必须重写该run方法并调用该start方法以开始执行线程。

在内部run,您将定义构成新线程的代码。重要的是要理解run可以像主线程一样调用其他方法,使用其他类并声明变量。唯一的区别是run为程序内的另一个并发执行线程建立入口点。这将在run返回时结束。

这是一个例子:

public class MyThread extends Thread {
    private final String name;

    public MyThread(String name) {
        this.name = name;
    }

    public void run() {
        try {
            for (; ; ) {
                System.out.println(name);
                Thread.sleep(1000);
            }
        } catch (InterruptedException e) {
            System.out.println("sleep interrupted");
        }
    }

    public static void main(String[] args) {
        Thread t1 = new MyThread("First Thread");
        Thread t2 = new MyThread("Second Thread");
        t1.start();
        t2.start();
    }
}

您将在屏幕上看到以下内容:

First Thread
Second Thread
First Thread
Second Thread
First Thread

本教程还介绍了Runnable界面。使用Spring,您可以使用线程池。



 类似资料:
  • 我现在正在使用SwingWorker,我遇到了一点问题,我意识到不可能从http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html.多次执行SwingWorker线程 我的问题是,是否可以创建同一SwingWorker线程的新实例?在这里的代码中,我将工作线程称为“worker” 是否可以创建此线程的多个实例,以便我

  • 我找到了关于线程安全的代码,但它没有来自给出示例的人的任何解释。我想知道为什么如果我不在“count”之前设置“synchronized”变量,那么count值将是非原子的(总是=200是期望的结果)。谢谢

  • 问题内容: 我正在编写一段连接到服务器的代码,使用该连接会生成一堆线程并执行一堆“工作”。 在某些情况下,连接失败,我需要停止所有操作并从头开始创建新对象。 我想在对象之后进行清理,但在线程上调用thread.stop,但是此方法似乎已被弃用。 推荐的替代方法是什么?是否应该为每个线程编写自己的清理和退出方法?将线程设置为null?或者是其他东西? 问题答案: 看这里 : 在HowToStopAT

  • 以下是上述应用程序的代码(包括2个类:Main和ClockPanel) 问题是:如果我删除该行(正如我在上面的代码中所评论的那样),时钟将不会运行。我完全不知道为什么会这样。有人能给我解释一下吗?是因为系统。出来println()影响正在运行的线程或其他什么?

  • 我有一个关于JAVA多线程的问题。 我有一个jetty webapp与grpc-流式传输-客户端。一切都很好,但我如何建立一个模型来获取流式传输数据? webapp是用jsf构建的。因为我有一个控制器,它调用一个处理程序类来启动流: 此方法简单地启动客户端和流。 检查倒计时锁存器的实现仍然缺失。但在这种情况下,这并不重要。 响应如下:onNext()-方法提供流式数据: 图像数据简单地打印在屏幕上