2011-11-17 23 views
27

Programımda eşzamanlı olarak çalışan iki iş parçacığım varsa ve bunlardan birine bir kesme noktası koyarsam, diğer iş parçacığı durdurma da bu kesme noktası vurulduğunda durur mu, yoksa devam etmeden devam eder mi?Bir kesme noktası tüm iş parçacığını durdurur mu?

(Java yazma ve NetBeans kullanıyorum)

+4

Aynı şekilde mijerin cevabından da görebileceğiniz gibi çevre ayarlarına bağlıdır, bu yüzden gözlemlerim bana tam resmi vermiyordu ve bu nedenle bu soru sormaya değerdi. –

cevap

33

Breakpoints nasıl davranmaları gerektiği bir seçenek var. Ancak, breakpopint özelliklerini değiştirerek davranışı değiştirebilirsiniz.

+0

Diğer IDE'lerle konuşamamaktadır, ancak IDEA'da oluktaki bir kesme noktasını sağ tıklayıp Askıya Alma Modunu "Tümü" (varsayılan) olarak "Thread" olarak değiştirebilirsiniz. Bir Guava olay otobüs işleyicisindeki bir kesme noktasının ana iş parçacığını neden askıya aldığını anlamaya çalıştığımda bugüne kadar bunu yapabileceğinizi bilmiyordum. – joshbodily

9

Ben kodunda kesme noktası vurur kez diğer ipler çalışmaya devam ederken, her iplik, durdurma inanıyoruz. Bunu Tomcat günlerimden hatırlıyorum. Tek bir iş parçacığı veya tüm konuları varsayılan kesme noktası durur vurur sadece iplik ile

breakpoints

+0

Tek bir web uygulaması hakkında konuşuyorsak, bunun muhtemelen doğru olmadığını düşünüyorum. Intellij'de fikir kesme noktası varsayılan olarak tüm konuları durdurur. Bu yüzden zorluklarla karşılaştım, @Async hatalarını ayıklamaya çalıştım: – divideByZero

+0

Yanlış olarak hata ayıkta çalışmadım. Ara noktanızı nasıl belirlediğinize bağlı. – snovelli

1

Eclipse ve NetBeans'de varsayılan davranışın, kesme noktası vurulduğunda geçerli diziyi askıya alması, IntelliJ'de iken tüm iş parçacıklarını askıya almasıdır.

İlgili konular