Beispiel aus dem wirklichen Leben;
- Einrichtung: Betriebssystem
- Abschnitte: Anwendungen
- Leute: Fäden
Sie haben dort eine Einrichtung, in der 12 Personen arbeiten. Es gibt 3 Abschnitte dieser Anlage. Küche, Toiletten und Sicherheit. Wenn Sie keine Thread-Pool-Technik verwenden, funktioniert das so: Alle 12 Personen stehen in einem Besprechungsraum, wenn neue Kunden vor Ort kommen und nach Aufgaben fragen, trennen Sie die Personen in Gruppen und schicken sie zur Arbeit und kommen Sie zurück in den Besprechungsraum. Doch bevor sie ihren Dienst antreten, gibt es eine Vorbereitungsphase. Sie müssen die richtige Uniform tragen, bestimmte Geräte ausrüsten und zu diesem Abschnitt gehen, die Arbeit beenden und zurückkommen. Sobald sie ihre Arbeit beendet haben (Faden endet), müssen sie zurück in den Besprechungsraum gehen, die Uniform ausziehen, die Ausrüstung herausnehmen und auf den nächsten Job warten. Diese beziehen sich auf das Erstellen des Thread-Kontexts, die Speicherzuordnung und die Verfolgung von Informationen durch das Betriebssystem.
Wenn Sie Thread-Pooling verwenden, weisen Sie am frühen Morgen der Küche 6 Personen zu, der Toilette 2 Personen und der Sicherheit 4 Personen. Sie bereiten sich also nur einmal am Tag vor. Auch wenn keine Kunden in der Küche sind, sind diese 4 Personen im Leerlauf für alle anstehenden Aufgaben da. Sie müssen erst wieder in den Besprechungsraum gehen, wenn die Küche geschlossen ist (App endet). Diese 4 Personen befinden sich im Pool der Küchen-App und sind schnell einsatzbereit. Sie können jedoch nicht versprechen, dass sie den ganzen Tag über arbeiten, da die Küche von Zeit zu Zeit inaktiv sein kann. Dieselbe Logik gilt auch für Toiletten und Sicherheit.
Im ersten Szenario verschwenden Sie keinen Thread für eine Aufgabe, ABER es wird viel Zeit in Anspruch nehmen, jeden einzelnen Thread für jede Aufgabe vorzubereiten. In der zweiten Phase bereiten Sie Threads im Voraus vor, sodass Sie nicht garantieren können, dass Sie alle Threads für alle Aufgaben verwenden. Das Betriebssystem optimiert sie jedoch größtenteils, sodass Sie sich auf sie verlassen können.