Synchronisierung: Nachdem alle Vorgänge abgeschlossen sind, wird es an den Benutzer zurückgegeben. Auf diese Weise wartet der Benutzer zu lange online, was dem Benutzer das Gefühl gibt, festzustecken (d. h. wenn das System migriert wird und Sie auf „Migrieren“ klicken, wird die Schnittstelle nicht verschoben, das Programm wird jedoch weiterhin ausgeführt, was dem Benutzer Folgendes gibt). ein festgefahrenes Gefühl).
In diesem Fall kann der Benutzer die Schnittstelle nicht schließen. Wenn sie geschlossen ist, wird der Migrationsprozess unterbrochen. (Empfohlenes Lernen: Java-Kurs)
Asynchron: Stellen Sie die Benutzeranforderung in die Nachrichtenwarteschlange und geben Sie sie an den Benutzer zurück. Das Systemmigrationsprogramm wurde gestartet . Sie können das Browser-Gerät schließen. Anschließend schreibt das Programm langsam in die Datenbank. Dies ist asynchron. Der Benutzer fühlt sich jedoch nicht festgefahren und wird Ihnen mitteilen, dass das System auf Ihre Anfrage reagiert hat. Sie können die Schnittstelle schließen.
Das Programm verarbeitet die Daten und der B-Thread ändert die vom A-Thread verarbeitete Mathematik.
Offensichtlich wird dies durch globale Ressourcen verursacht. Um dieses Problem zu lösen, wird der Verwendung lokaler Variablen Vorrang eingeräumt und in zweiter Linie die Verwendung synchronisierter Codeblöcke. Aus solchen Sicherheitsgründen muss die Systemverarbeitung geopfert werden. Leistung: Der Thread-Synchronisierungsmechanismus wird dort implementiert, wo der Ressourcenwettbewerb am intensivsten ist, wenn mehrere Threads gleichzeitig ausgeführt werden.
Synchronisierung: Thread A möchte eine Ressource anfordern, aber diese Ressource wird von Thread B verwendet. Da der Synchronisierungsmechanismus vorhanden ist, kann Thread A nicht eintreffen. Was soll ich tun?
Asynchron: Thread A möchte eine Ressource anfordern, aber diese Ressource wird von Thread B verwendet. Da es keinen Synchronisierungsmechanismus gibt, kann Thread A sie trotzdem anfordern und Thread A muss nicht warten3. Zusammenfassung:
(1) Die Synchronisierung ist sicher, aber aufgrund des Vorhandenseins eines Synchronisierungsmechanismus ist die Leistung relativ schlecht. (2) Asynchronität ist vorhanden unsicher und kann leicht zu einem Deadlock führen. Der Tod eines solchen Threads kann zum Absturz des gesamten Prozesses führen. Da jedoch kein Synchronisierungsmechanismus vorhanden ist, werden Multithreads asynchron ausgeführt und die Leistung verbessert.4. Ein Synchronisationsmechanismus ist erforderlich, wenn die folgenden Anforderungen gleichzeitig erfüllt sind:
(1) Multithreading (2 ) Geteilter DatenwettbewerbDas obige ist der detaillierte Inhalt vonDer Unterschied zwischen synchron und asynchron in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!