获取控制当前类的java线程

获取控制当前类的java线程,java,multithreading,Java,Multithreading,嗨,我想看看哪个线程正在运行我当前的类。原因是我想看看是否有不同的线程根据其执行代码的位置并排运行 例如: Public Class one { public void Method1 { Do something print out what thread is running here } public void Method2 { doing something } } Class two { public v

嗨,我想看看哪个线程正在运行我当前的类。原因是我想看看是否有不同的线程根据其执行代码的位置并排运行

例如:

Public Class one {
   public void Method1 {
       Do something
       print out what thread is running here   
   }
   public void Method2 {
       doing something
   }
}

Class two {
   public void Method1 {
       Do something
       print out what thread is running here   
   }
   public void Method2 {
       doing something
   }
}

如果有可能,我将不胜感激。

要访问当前类中的当前线程,线程类有一个名为currentThread()的静态方法


这可能会让你在某个地方回答线程正在处理什么。

从线程的角度来看,如果“做点什么”的部分相同,那么你的类1和类2是相同的

在Java中,线程是一个正在运行的实体,类是线程遵循的过程。不能编写只能由单个线程运行的类。任何线程都可以运行任何类

把Java类想象成钢琴乐谱,把线程想象成钢琴家。钢琴乐谱可以由多个钢琴家在同一时间或不同时间演奏

鉴于上述示例,如果“Do something”部分相同,则无需编写两个不同的类,只需一个类即可完成此任务:

Public Class ThreadTester {
   public void Method1 {
       System.out.println(Thread.currentThread().getName());
   }
   public void Method2 {
       doing something
   }
}

希望这是有用的。

不同的类方法可以在不同的线程中运行,通常没有特定的线程与类关联。感谢扩展Answare!这有帮助!感谢您的见解,但这只是一个非常概括的问题,是的,他们应该做不同的事情。如果“做某事”部分不同,那么只需使用Thread.currentThread().getName()来找出哪个线程正在调用它。
Public Class ThreadTester {
   public void Method1 {
       System.out.println(Thread.currentThread().getName());
   }
   public void Method2 {
       doing something
   }
}