java - 如何处理另一个类的对象

标签 java multithreading

我不确定这是否真的可能,但我们假设我有两个类(class)。一个在 Thread 内运行无限循环,另一个在方法 ma​​in 内创建该类的实例。所以一切正常,但是我如何在 ma​​in 中处理该实例并中断无限循环执行线程。 这是一个例子:

public class Main {
 public static void main(String[] args){
  new ThreadClass();
{
public class ThreadClass{
 public ThreadClass{
  try{
   Thread t = new Thread(new Runnable(){
    int i = 0;
    public void run(){
     while(true){
      i += 1;
      System.out.println(i);
      }
    }
  });
  t.start();
  }catch(Exception e){
   System.out.println("something ");
  }
 }
}

提前致谢:)

最佳答案

ThreadClass 必须公开一种方法(例如方法)来告诉循环终止。 (通常涉及设置/清除循环在其 while 中使用的 volatile 标志。)然后 main 将使用该方法...一些适当的时间。目前尚不清楚您想要什么时间,但您将保留对您创建的实例的引用,并且当时间到来时,您将使用该方法。

关于java - 如何处理另一个类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247780/

相关文章:

java - 将用户返回到发生异常的代码行 - Java

java - Kafka 生产者无法发送消息,出现 NOT_LEADER_FOR_PARTITION 异常

c - 带链表的多线程

node.js - Nodejs集群只将任务分配给一个worker(任意)

生产者消费者上的Java多线程

java - Spring Boot 使用 docker 返回静态资源 404

java - 在 Scala 中使用枚举

java - 返回 ModelAndView 时不呈现 View

c++ - 我可以在 C++ 中仅使用 std::atomic 而不使用 std::mutex 安全地跨线程共享变量吗?

来自未声明为线程安全的多个线程的java调用函数