idea查看java当前线程,IntelliJ IDEA多线程调试

1. 打开任意一个java源文件,单击左边框边沿设置一个断点,然后右键该断点。

16a7e2e51489eebff624bc029c2a2e97.png

2.选中Thread,并Make Default,这样后续所有加的断点都支持多线程调试,然后Done。

3.下面以netty为例,快捷键Shift+F9调试代码,然后F7和F8快捷键结合,最终进入到SingleThreadEventExecutor.java文件,如下图代码处,

e2971da6b14d754cd42c6294faa35f14.png

由于此函数马上开启一个新线程,为实现多线程调试,应该让新线程在启动后,在适当的地方停下来等我们进行单步调试,这里选择在新线程将要运行的第一行代码处,加了一个断点。

4.继续调试后,发现在创建新线程后,光标直接跳到了doStartThread()结束处,这时新线程已经启动,并且在第一行代码等我们。

5.开始切换线程调试,查看调试窗口,选择Debugger->Frames,当前我们仍处于main线程中,如下图,

7b184e7174d63341a40497c83d7b1aad.png

点击下拉框,其中nioEventLoopGroup-3-1就是新开启的线程(可以事先查看下),选择该新线程,代码编辑界面马上跳到我们在新线程设置的断点处。

5b112d8998a8c0e03a471a37a02e02bb.png

这样就顺利进行线程切换。

完。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IntelliJ IDEA 中实现多线程的方式与在 Java 中实现多线程的方式基本相同。以下是一些步骤: 1. 创建一个线程类并重写 run() 方法。 2. 在需要启动线程的地方创建线程对象,并调用 start() 方法启动线程。 3. 在 run() 方法中编写线程的逻辑代码。 4. 使用同步机制来避免线程安全问题。 下面是一个简单的示例代码,演示如何在 IntelliJ IDEA 中使用多线程: ``` public class MultiThreadDemo { public static void main(String[] args) { Thread thread1 = new Thread(new MyRunnable()); Thread thread2 = new Thread(new MyRunnable()); thread1.start(); thread2.start(); } } class MyRunnable implements Runnable { @Override public void run() { for (int i = 1; i <= 10; i++) { System.out.println("线程" + Thread.currentThread().getName() + "打印:" + i); } } } ``` 在上面的示例中,我们创建了一个 MyRunnable 类,实现了 Runnable 接口,并重写了 run() 方法。在 main() 方法中,我们创建了两个线程对象,每个对象都传递了一个 MyRunnable 对象。然后,我们分别调用两个线程对象的 start() 方法,启动它们。在 MyRunnable 的 run() 方法中,我们使用了循环来打印一些信息,然后使用 Thread.currentThread().getName() 方法获取当前线程的名称,以便区分不同的线程。 需要注意的是,在多线程编程中,我们需要特别注意线程安全问题,避免多个线程同时访问共享资源而导致数据不一致的问题。可以使用 synchronized 关键字或 Lock 接口来实现同步机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值