ile CTRL-C çalışma basın ne zaman girer?nasıl <kbd>ctrl</kbd> Java programı
cevap
javadocs göre, kayıtlı kapatma kancalar bir belirtilmemiş sırayla denir; Örneğin. CTRL-C'ye yanıt olarak.
Uygulama konuları iyi tanımlanmış bir şekilde "durdurulamıyor" değil. Gerçekten, süreç çıkana kadar sağa doğru devam edebilirler.
Konularınızın düzenli bir şekilde kapatılmasını istiyorsanız, bunun gerçekleşmesi için bir kapatma kancası içinde bir şeyler yapmanız gerekir. Örneğin, bir kapanma kancası, çalışan iş parçacığının yaptıkları şeyi durdurmalarını söylemek için Thread.interrupt()
numaralı telefonu arayabilir ve bunun gerçekleştiğinden emin olmak için join()
numaralı telefonu arayabilir.
Dikkat; 'Thread.join()', kapatma sırasında kesintiye uymayan bir iş parçacığı beklerken kilitlenmeye neden olabilir. ['Thread.join (long)'] (http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#join-long-) ile iyi bir fikir. Yanlış iş parçacıklarının işlem çıkışını engellememesini sağlamak için makul zaman aşımı. – dimo414
İyi nokta. Bununla birlikte, bir kesmeye doğru yanıt vermeyen bir iş parçacığınız varsa ve JVM'deki fişi ne olursa olsun dikkate almazsanız, bir şeyin çöpe atılması riski vardır. Öyleyse, IMO, daha iyi bir yaklaşım "çıkmaz" ın nedenini bulmak ve düzeltmek; diğer bir deyişle, kesintileri uygun bir şekilde ele almak için rahatsız edici ipliği değiştirir. –
Ctrl-C'ye bir kapatma kancası eklendiğinde ne olacağını belirtebileceğinizi biliyorum. Ama hangi sırayla emin değilim. JVM kapatılıyor başladığında
private static void createShutDownHook()
{
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable()
{
@Override
public void run()
{
System.out.println();
System.out.println("Thanks for using the application");
System.out.println("Exiting...");
}
}));
}
- 1. Bir Java programı ile ... bir Java programı ile ...
- 2. Java Desen Programı Hata
- 3. Java programı donuyor
- 4. Derleme Java programı kaçak
- 5. Basit Java GUI Programı
- 6. Windows programı java uygulamasına nasıl gömülür?
- 7. Celsius - Fahrenheit GUI Programı [Java]
- 8. Bu java programı ne yapar?
- 9. java programı, Wildfly sunucusuyla dağıtılmadı
- 10. Benim java soket programı, Eclipse
- 11. start-stop-daemon ve java programı
- 12. Bir Java programı tarafından hangi sınıflar kullanılır?
- 13. Java Bowling Programı - 10. Çerçeve Ekleme
- 14. Windows başlangıcında Java Swing Run programı
- 15. tutulması Java çoklu programı hata giderme
- 16. .java dosyalarını derlemek için bir java programı geliştirme
- 17. Başka bir java programından bir java programı çalıştırma
- 18. java programı kullanılarak yapılan değişiklikleri geri alma nasıl yapılır
- 19. java.lang.NullPointerException hatası nasıl çözülür? Benim Java programı çalıştırdığınızda
- 20. programı
- 21. Bu programı nasıl hızlandırabilirim?
- 22. Programı nasıl tekrar edebilirim?
- 23. İzleme programı nasıl yapılır?
- 24. Windows'ta node.js'de harici bir programı nasıl çalıştırıyorsunuz?
- 25. Java programı aniden çıktığında bir şey yapmak mümkün mü?
- 26. Maven kullanarak bir programı nasıl yürütürüm?
- 27. C++ programı
- 28. Java - anahtarı Hashmap <Sınıfı, ArrayList <Class>>
- 29. NetBeans, bir derleme zamanı hataları içeren bir Java programı çalıştırıyor
- 30. C programı nasıl yapılır (Linux'ta)?
Dokümanlardan alıntı yapmak için: [Sanal makine kapatma sırasını başlattığında, tüm kayıtlı kapatma kancalarını belirsiz bir sırada başlatır ve eşzamanlı çalışmasına izin verir. Tüm kancalar bittiğinde, çıkışta sonlandırma etkinleştirildiyse, tüm müdahalesi yapılmamış finalizörleri çalıştıracaktır.] (Http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html) Böylece, kapanış kancaları toplayabiliriz her zaman ilk olarak adlandırılır, hangisi mantıklıdır veya iş parçacığı kapanıyorsa böyle bir kanca noktası ne olurdu? Bir kullanıcıya onun verilerini bildirmek için –