Vinnaren i pepparkakshustävlingen!
2017-03-10, 18:20
  #1
Medlem
Vad är det för skillnad mellan System.exit(0); och break; när jag vill avsluta ett program?
Citera
2017-03-10, 18:28
  #2
Medlem
kimdah2002s avatar
Citat:
Ursprungligen postat av bellajonna
Vad är det för skillnad mellan System.exit(0); och break; när jag vill avsluta ett program?
System.exit(0); avslutar ett program och break; gör det inte.
Citera
2017-03-10, 19:24
  #3
Medlem
valter-eggons avatar
Exit 0 är standard för att avsluta ett program om allting gått bra. Att använda break ur en while loop utan returkod är jättekonstigt.
Citera
2017-03-10, 19:35
  #4
Medlem
Bra att veta är att följande två event gör att java vm stängs ner:

Citat:
The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or
The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.

Från dokumentationen av Runtime.addShutdownHook

D v s att returnera från main() räcker inte nödvändigtvis för att avsluta programmet om det finns andra trådar igång.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback