


Vergleich zwischen Swoole-Synchronisationsmodus und Coroutine-Modus (Details)
Der Inhalt dieses Artikels befasst sich mit dem Vergleich zwischen dem Swoole-Synchronisationsmodus und dem Coroutine-Modus. Er hat einen gewissen Referenzwert. Ich hoffe, er wird für Sie hilfreich sein.
In der modernen fortgeschrittenen PHP-Entwicklung bringt Swoole PHP mehr Möglichkeiten, wie zum Beispiel: residenter Speicher, Coroutinen und der große Unterschied zwischen dem traditionellen Apache/FPM-Modus und dem residenten Speichermodus (Synchronisation), den ich gemacht habe Tests durchgeführt, und jeder kann intuitiv die enorme Leistungsverbesserung spüren, aber wie viel Leistungsverbesserung wurde nach der Einführung der Coroutine gebracht? Welche Leistungsaspekte werden verbessert? Lassen Sie es uns Schritt für Schritt testen.
Testartikel zum traditionellen Apache/FPM-Modus und zum residenten Speichermodus (Synchronisation):
Umfassender Vergleichstest der MixPHP-Parallelitätsleistung
Vorteile von Coroutinen
Vergleich zwischen Coroutine-Modus und Resident-Memory-Modus (synchron)/traditioneller Modus:
Resident-Modus/traditioneller Modus sind beide synchrone Blockierungsprogrammierung, da im gleichen Prozess keine Anforderungen verarbeitet werden können Parallel, um die Parallelität zu verbessern, können daher nur mehr Prozesse geöffnet werden, normalerweise mehr als 100
oder sogar mehr. Jeder Prozess hat einen grundlegenden Speicherverbrauch, der sich zu einer Menge summiert und durch den gesamten Linux-Prozess begrenzt wird Bei einer großen Anzahl von Prozessen kann die Gesamtzahl der Parallelität nicht überschritten werden, was natürlich zu einer großen Leistungsverschwendung im Vergleich zum herkömmlichen FPM-Modus führt Von Grund auf ist der Resident-Modus immer noch viel besser, aber Coroutinen sind offensichtlich besser.
Ausführungsmethode des Coroutine-Modus:
Im Coroutine-Modus kann ein Prozess N Anforderungen gleichzeitig ausführen, aber nur eine davon wird gleichzeitig ausgeführt Das heißt, bei der Ausführung auf Clients wie MySQL/Redis wartet der residente Modus/traditionelle Modus aufgrund der Notwendigkeit, auf die Antwort des Clients zu warten, normalerweise auf die Antwort, und die Coroutine unterbricht die aktuelle Coroutine Zu diesem Zeitpunkt werden andere Anforderungen in anderen Coroutinen verarbeitet, sodass die Coroutine N Anforderungen gleichzeitig verarbeiten kann. Verglichen mit der Erhöhung des Speicherverbrauchs eines Prozesses ist dies offensichtlich viel weniger, da die Coroutine parallel verarbeiten kann, sodass Sie normalerweise nur die Anzahl der Prozesse konfigurieren müssen, die etwa dem 1- bis 2-fachen der Anzahl der CPUs entspricht. Weniger Prozesse führen zu weniger CPU-Thread-Wechsel und reduzieren viele Leistungsverluste.
Testen starten
MixPHP ist ein leistungsstarkes PHP-Framework, das auf Swooles Drei-Modus-FPM, residentem Speicher und Coroutine-Modus basiert können leicht praktische Testergebnisse sein.
Testumgebung:
Docker-Container, begrenzt auf 1 CPU.
Andere Parameter lauten wie folgt:
Server Name: mix-httpd Framework Version: 1.1.0-RC PHP Version: 7.2.9 Swoole Version: 4.1.0 Listen Addr: 127.0.0.1 Listen Port: 9501
Code:
Simulieren Sie allgemeine HTTP-Entwicklungsanforderungen und führen Sie drei SQL-Anfragen aus.
// 默认动作 public function actionIndex() { PDO::createCommand("select * from `test` where id = 1")->queryOne(); PDO::createCommand("select * from `test` where id = 2")->queryOne(); return PDO::createCommand("select * from `test` limit 5")->queryAll(); }
Testergebnisse
Residenter Speichermodus (synchron):
进程数 | 并发数 | RPS |
---|---|---|
8 | 100 | 838.65 |
8 | 300 | 683.78 |
8 | 500 | 688.56 |
50 | 100 | 770.69 |
50 | 300 | 304.90 |
50 | 300 | 378.95 |
Coroutine-Modus:
进程数 | 并发数 | RPS |
---|---|---|
8 | 100 | 834.12 |
8 | 300 | 837.50 |
8 | 500 | 824.14 |
协程在本次测试中并没有像之前的传统 Apache/FPM 模式与常驻内存模式(同步)的测试一样展现出巨大的性能提升,说明:
在少量能快速响应的 SQL 请求中,协程的提升并不明显,应该要在响应时间更大时,才能感受到协程优势。
常驻内存模式的进程数配置过多,并发性能反而会降低,该问题同样适用于传统 Apache/FPM 模式。
常驻内存模式(同步)详细测试
首先 8 个 Worker 进程,并发 100 测试,RPS 为 838.65。
C:\Users\EDZ>ab -n 10000 -c 100 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 100 Time taken for tests: 11.924 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 838.65 [#/sec] (mean) Time per request: 119.239 [ms] (mean) Time per request: 1.192 [ms] (mean, across all concurrent requests) Transfer rate: 217.85 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.2 0 4 Processing: 20 118 18.3 118 195 Waiting: 19 118 18.4 118 195 Total: 20 118 18.4 119 195 Percentage of the requests served within a certain time (ms) 50% 119 66% 126 75% 130 80% 133 90% 141 95% 147 98% 155 99% 161 100% 195 (longest request)
然后使用 8 个 Worker 进程,并发 300 测试,RPS 为 683.78。
C:\Users\EDZ>ab -n 10000 -c 300 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 300 Time taken for tests: 14.624 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 683.78 [#/sec] (mean) Time per request: 438.735 [ms] (mean) Time per request: 1.462 [ms] (mean, across all concurrent requests) Transfer rate: 177.62 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 30.0 0 3000 Processing: 62 432 493.4 354 3457 Waiting: 54 431 488.1 354 3455 Total: 62 433 494.1 354 3457 Percentage of the requests served within a certain time (ms) 50% 354 66% 373 75% 385 80% 392 90% 411 95% 432 98% 3170 99% 3266 100% 3457 (longest request)
然后使用 8 个 Worker 进程,并发 500 测试,RPS 为 688.56。
C:\Users\EDZ>ab -n 10000 -c 500 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 500 Time taken for tests: 14.523 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 688.56 [#/sec] (mean) Time per request: 726.150 [ms] (mean) Time per request: 1.452 [ms] (mean, across all concurrent requests) Transfer rate: 178.87 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 30.0 0 3000 Processing: 102 707 618.4 596 3632 Waiting: 89 703 605.6 595 3629 Total: 102 707 618.9 596 3633 Percentage of the requests served within a certain time (ms) 50% 596 66% 620 75% 635 80% 645 90% 679 95% 3125 98% 3401 99% 3495 100% 3633 (longest request)
现在调整为 50 进程,100 并发测试,RPS 为 770.69。
进程的增加并没有带来并发量的提升。
C:\Users\EDZ>ab -n 10000 -c 100 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 100 Time taken for tests: 12.975 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 770.69 [#/sec] (mean) Time per request: 129.754 [ms] (mean) Time per request: 1.298 [ms] (mean, across all concurrent requests) Transfer rate: 200.20 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 42.4 0 3000 Processing: 10 128 499.8 56 7137 Waiting: 10 127 495.8 55 7137 Total: 11 129 503.3 56 7137 Percentage of the requests served within a certain time (ms) 50% 56 66% 72 75% 86 80% 97 90% 133 95% 179 98% 312 99% 3052 100% 7137 (longest request)
50 进程,300 并发测试,RPS 为 304.90。
对比 8 个进程时的结果,并发量降低非常明显,看来进程数过多并不能提升性能,反而会降低性能。
C:\Users\EDZ>ab -n 10000 -c 300 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 300 Time taken for tests: 32.798 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 304.90 [#/sec] (mean) Time per request: 983.942 [ms] (mean) Time per request: 3.280 [ms] (mean, across all concurrent requests) Transfer rate: 79.20 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 3 90.0 0 3001 Processing: 25 976 1339.8 189 3694 Waiting: 23 954 1316.5 188 3691 Total: 25 979 1341.0 189 3694 Percentage of the requests served within a certain time (ms) 50% 189 66% 289 75% 3094 80% 3113 90% 3184 95% 3249 98% 3315 99% 3375 100% 3694 (longest request)
50 进程,500 并发测试,RPS 为 378.95。
C:\Users\EDZ>ab -n 10000 -c 500 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 500 Time taken for tests: 26.389 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 378.95 [#/sec] (mean) Time per request: 1319.431 [ms] (mean) Time per request: 2.639 [ms] (mean, across all concurrent requests) Transfer rate: 98.44 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 2 79.4 0 3001 Processing: 64 1306 1434.7 341 3962 Waiting: 17 1224 1391.4 321 3959 Total: 65 1308 1435.2 342 3963 Percentage of the requests served within a certain time (ms) 50% 342 66% 3142 75% 3168 80% 3195 90% 3292 95% 3374 98% 3467 99% 3516 100% 3963 (longest request)
协程模式详细测试
首先 8 个 Worker 进程,并发 100 测试,RPS 为 834.12。
C:\Users\EDZ>ab -n 10000 -c 100 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 100 Time taken for tests: 11.989 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 834.12 [#/sec] (mean) Time per request: 119.886 [ms] (mean) Time per request: 1.199 [ms] (mean, across all concurrent requests) Transfer rate: 216.68 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.3 0 4 Processing: 84 119 9.8 122 165 Waiting: 84 119 9.8 122 164 Total: 84 119 9.8 123 165 Percentage of the requests served within a certain time (ms) 50% 123 66% 124 75% 125 80% 125 90% 126 95% 128 98% 131 99% 137 100% 165 (longest request)
然后使用 8 个 Worker 进程,并发 300 测试,RPS 为 837.50。
C:\Users\EDZ>ab -n 10000 -c 300 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 300 Time taken for tests: 11.940 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 837.50 [#/sec] (mean) Time per request: 358.207 [ms] (mean) Time per request: 1.194 [ms] (mean, across all concurrent requests) Transfer rate: 217.55 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 42.4 0 3001 Processing: 86 354 1043.0 161 7172 Waiting: 86 344 1011.9 160 7172 Total: 86 355 1044.5 161 7172 Percentage of the requests served within a certain time (ms) 50% 161 66% 182 75% 199 80% 212 90% 251 95% 302 98% 6103 99% 6135 100% 7172 (longest request)
然后使用 8 个 Worker 进程,并发 500 测试,RPS 为 824.14。
C:\Users\EDZ>ab -n 10000 -c 500 http://www.a.com/ This is ApacheBench, Version 2.3 <$Revision: 1757674 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.a.com (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: nginx/1.13.9 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 101 bytes Concurrency Level: 500 Time taken for tests: 12.134 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 2660000 bytes HTML transferred: 1010000 bytes Requests per second: 824.14 [#/sec] (mean) Time per request: 606.690 [ms] (mean) Time per request: 1.213 [ms] (mean, across all concurrent requests) Transfer rate: 214.08 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.3 0 4 Processing: 92 332 585.3 198 6931 Waiting: 91 331 585.5 196 6931 Total: 92 332 585.3 198 6931 Percentage of the requests served within a certain time (ms) 50% 198 66% 242 75% 284 80% 334 90% 587 95% 932 98% 1216 99% 2390 100% 6931 (longest request)
相关推荐:
Das obige ist der detaillierte Inhalt vonVergleich zwischen Swoole-Synchronisationsmodus und Coroutine-Modus (Details). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
