国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Java JavaInterview Fragen Interviewer: K?nnten Sie mir bitte die Unterschiede zwischen Sleep(), Wait(), Join() und Yield() erkl?ren?

Interviewer: K?nnten Sie mir bitte die Unterschiede zwischen Sleep(), Wait(), Join() und Yield() erkl?ren?

Mar 01, 2021 am 10:18 AM
Interview

Interviewer: K?nnten Sie mir bitte die Unterschiede zwischen Sleep(), Wait(), Join() und Yield() erkl?ren?

Lassen Sie uns zun?chst die Konzepte des Lock-Pools und des Wartepools vorstellen.

Schauen wir uns zun?chst das Konzept des Sperrpools an.

Alle Threads, die um Synchronisierungssperren konkurrieren müssen, werden in den Sperrpool eingefügt. Beispielsweise wurde die Sperre des aktuellen Objekts von einem der Threads und einem anderen erhalten Threads müssen in diesem Sperrpool warten. Nachdem der Thread unten die Synchronisierungssperre freigegeben hat, konkurrieren die Threads im Sperrpool um die Synchronisierungssperre. Wenn ein Thread diese erh?lt, tritt er in die Bereitschaftswarteschlange ein und wartet auf die Zuweisung von CPU-Ressourcen.

Werfen wir einen Blick auf das Konzept des Wartepools

Wenn wir die Methode wait() aufrufen, wird der Thread im Wartepool platziert und die im Pool wartenden Threads konkurrieren nicht um Synchronisationssperren. Erst nach dem Aufruf von notify() oder notifyAll() beginnen die Threads im Wartepool, um die Sperre zu konkurrieren. notify() w?hlt zuf?llig einen Thread aus dem Wartepool aus und fügt ihn in den Sperrpool ein, w?hrend notifyAll() alle Threads einfügt im Wartepool Legen Sie es in den Sperrpool.

  • sleep ist eine statische lokale Methode der Thread-Klasse und wait ist eine lokale Methode von Object.

  • Die Schlafmethode gibt die Sperre nicht frei, aber das Warten gibt sie frei und fügt sie der Warteschlange hinzu.

sleep就是把cpu的執(zhí)行資格和執(zhí)行權(quán)釋放出去,不再運行此線程,當(dāng)定時事件結(jié)束再取回cpu資源,參與cpu的調(diào)度,獲取到cpu資源后就可以繼續(xù)運行了,而如果sleep時該線程有鎖,那么sleep不會釋放這個鎖,而是把鎖帶著進入了凍結(jié)狀態(tài),也就是說其它需要這個鎖的線程根本不可能獲取到這個鎖。也就是說無法執(zhí)行程序,如果在睡眠期間其它線程調(diào)用了這個線程的interrupt方法,那么這個線程也會拋出interruptexception異常返回,這點和wait是一樣的。
  • Die Schlafmethode h?ngt nicht vom synchronisierten Synchronisierer ab, aber warten muss vom synchronisierten Schlüsselwort abh?ngen.

  • Schlaf muss nicht geweckt werden (beendet die Funktion nach dem Schlafen und wird blockiert), Warten jedoch schon (es muss nicht zu einer bestimmten Zeit von anderen unterbrochen werden).

  • sleep wird im Allgemeinen zum Ruhen des aktuellen Threads oder zum Abfragen und Anhalten von Vorg?ngen verwendet, w?hrend wait haupts?chlich für die Kommunikation zwischen mehreren Threads verwendet wird.

  • sleep gibt CPU-Ausführungszeit auf und erzwingt einen Kontextwechsel, aber warten wird dies nicht unbedingt tun. Nach dem Warten besteht m?glicherweise immer noch die M?glichkeit, erneut um die Sperre zu konkurrieren und die Ausführung fortzusetzen.

yield() Nach der Ausführung wechselt der Thread direkt in den Bereitschaftszustand und gibt sofort das Ausführungsrecht der CPU frei, beh?lt aber weiterhin die Ausführungsqualifikation der CPU bei, sodass es m?glich ist, dass die CPU beim n?chsten Mal eine Thread-Planung durchführt , erh?lt dieser Thread das Ausführungsrecht.

(Lernvideo-Sharing: Java-Video-Tutorial)

Nachdem join() ausgeführt wurde, wechselt der Thread in den Blockierungsstatus. Wenn beispielsweise join() von Thread A in Thread B aufgerufen wird, tritt Thread B in den Blockierungsstatus ein Warteschlange und Leitfaden A. Beenden oder unterbrechen Sie den Thread.

public static void main(String[] args) throws InterruptedException {
        Thread t1=new Thread(()->{
            try {
                Thread.sleep(4000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("休眠sleep線程");
        });
        t1.start();
        t1.join();
        System.out.println("線程執(zhí)行完成");
    }

Originallink: https://blog.csdn.net/lxn1023143182/article/details/114134498

Verwandte Empfehlungen: Fragen und Antworten zu Java-Interviews

Das obige ist der detaillierte Inhalt vonInterviewer: K?nnten Sie mir bitte die Unterschiede zwischen Sleep(), Wait(), Join() und Yield() erkl?ren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lassen Sie uns darüber sprechen, wie Sie das beste Node.js-Docker-Image ausw?hlen. Lassen Sie uns darüber sprechen, wie Sie das beste Node.js-Docker-Image ausw?hlen. Dec 13, 2022 pm 08:00 PM

Die Auswahl eines Docker-Images für Node mag trivial erscheinen, aber die Gr??e und potenziellen Schwachstellen des Images k?nnen erhebliche Auswirkungen auf Ihren CI/CD-Prozess und Ihre Sicherheit haben. Wie w?hlen wir also das beste Node.js-Docker-Image aus?

Wie lassen sich dom?nenübergreifende Probleme l?sen? Eine kurze Analyse g?ngiger L?sungen Wie lassen sich dom?nenübergreifende Probleme l?sen? Eine kurze Analyse g?ngiger L?sungen Apr 25, 2023 pm 07:57 PM

Dom?nenübergreifend ist ein Szenario, das in der Entwicklung h?ufig vorkommt und auch ein h?ufig in Interviews diskutiertes Thema ist. Die Beherrschung g?ngiger dom?nenübergreifender L?sungen und der dahinter stehenden Prinzipien kann nicht nur unsere Entwicklungseffizienz verbessern, sondern auch in Vorstellungsgespr?chen bessere Leistungen erbringen.

Ein Artikel zum Verst?ndnis des Singleton-Musters in JavaScript Ein Artikel zum Verst?ndnis des Singleton-Musters in JavaScript Apr 25, 2023 pm 07:53 PM

Das JS-Singleton-Muster ist ein h?ufig verwendetes Entwurfsmuster, das sicherstellt, dass eine Klasse nur eine Instanz hat. Dieser Modus wird haupts?chlich zur Verwaltung globaler Variablen verwendet, um Namenskonflikte und wiederholtes Laden zu vermeiden. Au?erdem kann er die Speichernutzung reduzieren und die Wartbarkeit und Skalierbarkeit des Codes verbessern.

Sammlung von Interviewfragen zum Golang-Framework Sammlung von Interviewfragen zum Golang-Framework Jun 02, 2024 pm 09:37 PM

Das Go-Framework besteht aus einer Reihe von Komponenten, die die integrierten Bibliotheken von Go erweitern und vorgefertigte Funktionen bereitstellen (z. B. Webentwicklung und Datenbankoperationen). Zu den beliebten Go-Frameworks geh?ren Gin (Webentwicklung), GORM (Datenbankoperationen) und RESTful (API-Verwaltung). Middleware ist ein Interceptor-Muster in der HTTP-Anforderungsverarbeitungskette und wird verwendet, um Funktionen wie Authentifizierung oder Anforderungsprotokollierung hinzuzufügen, ohne den Handler zu ?ndern. Die Sitzungsverwaltung verwaltet den Sitzungsstatus durch die Speicherung von Benutzerdaten. Sie k?nnen gorilla/sessions zum Verwalten von Sitzungen verwenden.

Ausgew?hlte Java JPA-Interviewfragen: Testen Sie Ihre Beherrschung des Persistenz-Frameworks Ausgew?hlte Java JPA-Interviewfragen: Testen Sie Ihre Beherrschung des Persistenz-Frameworks Feb 19, 2024 pm 09:12 PM

Was ist JPA? Wie unterscheidet es sich von JDBC? JPA (JavaPersistence API) ist eine Standardschnittstelle für objektrelationales Mapping (ORM), die es Java-Entwicklern erm?glicht, vertraute Java-Objekte zum Betreiben von Datenbanken zu verwenden, ohne SQL-Abfragen direkt in die Datenbank schreiben zu müssen. JDBC (JavaDatabaseConnectivity) ist die Standard-API von Java für die Verbindung mit Datenbanken. Sie erfordert, dass Entwickler SQL-Anweisungen verwenden, um die Datenbank zu betreiben. JPA kapselt JDBC, bietet eine bequemere und übergeordnete API für die objektrelationale Zuordnung und vereinfacht Datenzugriffsvorg?nge. Was ist in JPA eine Entit?t? juristische Person

Wie bestimmt JavaScript den Datentyp? 8 M?glichkeiten zum Teilen Wie bestimmt JavaScript den Datentyp? 8 M?glichkeiten zum Teilen Feb 16, 2023 pm 02:48 PM

Wie bestimmt JavaScript den Datentyp? In diesem Artikel werden 8 M?glichkeiten zur Verwendung von JS zur Bestimmung des Datentyps vorgestellt, die die Arbeit und Interviews effektiv unterstützen k?nnen. Der Interviewer l?chelte leicht, nachdem er ihn gelesen hatte.

Lassen Sie uns über das URL-Modul und das Querystring-Modul in Node sprechen Lassen Sie uns über das URL-Modul und das Querystring-Modul in Node sprechen Feb 23, 2023 pm 07:39 PM

Das URL-Modul und das Querystring-Modul sind zwei sehr wichtige URL-Verarbeitungsmodule. Es wird h?ufig bei der Entwicklung von Knotenservern verwendet.

100 h?ufige PHP-Interviewfragen (mit Analyse), um Ihren Wissensvorrat zu erweitern! 100 h?ufige PHP-Interviewfragen (mit Analyse), um Ihren Wissensvorrat zu erweitern! May 11, 2022 am 10:45 AM

In diesem Artikel werden 100 h?ufig gestellte PHP-Interviewfragen (mit gemeinsamen Antworten) zusammengestellt und geteilt, um Ihnen dabei zu helfen, Grundkenntnisse zu erwerben und Ihren PHP-Wissensvorrat zu erweitern. Es hat einen gewissen Referenzwert. Freunde in Not k?nnen sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

See all articles