Tôi cố gắng để chạy đoạn mã sau với điểm break như sau:IntelliJ - không ngừng trên tất cả các breakpoint trong mã đa luồng
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Starting"); //breakpoint here
}
}).start();
int i = 10;
i++; //breakpoint here
khi mã này chạy CHỈ i ++ breakpoint là hit ... Nếu tôi loại bỏ cái đó, điểm ngắt của luồng khác sẽ được nhấn chính xác. Tại sao hành vi kỳ lạ này lại xảy ra?
Cá nhân tôi tin rằng đây là một điều kiện chủng tộc. Trong trường hợp của tôi * resume * vẫn không ** không ** kích hoạt điểm ngắt trên chuỗi mới. Cách duy nhất để khắc phục là không phá vỡ ngay trước khi bắt đầu một chuỗi mới. Sau đó, tất cả các công trình. – kervin
Chính sách tạm ngưng trên các điểm ngắt của bạn được đặt thành 'Tất cả' (trái với 'Chủ đề')? –
Có tất cả. Tôi có thể kích hoạt vấn đề chỉ đơn giản bằng cách di chuyển điểm ngắt gần hơn/xa hơn từ khi bắt đầu luồng, để chỉ một mình xác nhận điều kiện chủng tộc của một số loại. – kervin