多线程调试
示例代码
package com.windy.me;
import java.util.concurrent.atomic.AtomicInteger;
public class DebugThread {
static AtomicInteger tickets=new AtomicInteger(10);
static class DeleteTask implements Runnable {
public void run() {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
tickets.decrementAndGet();
System.out.println(Thread.currentThread().getName()+"buy one ticket,tickets has left"+tickets);
}
}
public static void main(String[] args) {
Thread person1=new Thread(new DeleteTask(),"person1");
Thread person2=new Thread(new DeleteTask(),"person2");
Thread person3=new Thread(new DeleteTask(),"person3");
person1.start();
person2.start();
person3.start();
}
}
断点调试技巧
断点详细设置
condition 条件过滤