synchronized run() synchronisiert nicht

Ich weiß nicht, ob das jetzt schon komplett klar geworden ist: Die Angabe synchronized verhindert nicht dass eine Methode unterbrochen wird. Der Scheduler unterbricht die Methode trotzdem. Jedoch kann kein anderer Thread einen Block betreten, der über das gleiche Objekt synchronisiert ist. Diese Threads müssen warten bis der erste den Block verlassen hat. Trotzdem wird zu anderen Threads, die nichts mit Synchronisation über das Objekt zu tun haben, weiterhin ausgeführt, bzw. zu denen geschaltet.
 
Jep. Natürlich unterbricht der Sheduler, sonst wäre es ja Singletasking. Und bei neueren OSes bekommen die Tasks die Bearbeitungszeiten ect. von der CPU, da sonst ein Programm den Rechner lahmlegen könnte.
 
Zuletzt bearbeitet:
Zurück