Beschreiben Sie verschiedene Multithreading-Modelle?

1 Antworten


  • Die verschiedenen Multithreading-Modelle sind wie folgt:
    Viele-zu-Eins-Modell
    Beim Viele-zu-Eins-Modell werden viele Benutzerebenen-Treads einem Kernel-Thread von einem Zoll zugeordnet. Es ist effizient, weil es im Benutzerbereich implementiert ist. Ein Prozess, der dieses Modell verwendet, wird blockiert vollständig , wenn ein Thread einen blockierende Systemaufruf macht nur ein Thread den Kernel zu einem Zeitpunkt zugreifen kann , damit es nicht parallel auf Multi - Prozessor ausgeführt werden kann..
    One-to-One - Modell
    Abbildung: One-to-One - Modell

    In diesem Modell wird jeder Benutzer-Thread einem Kernel-Thread zugeordnet. Es bietet mehr Parallelität, da es einem anderen Thread die Ausführung ermöglicht, wenn ein Thread einen blockierenden Systemaufruf durchführt. Es erleichtert die Parallelität in Multiprozessoren. Jeder Benutzer-Thread erfordert einen Kernel-Thread, der die Leistung des Systems beeinträchtigen kann. Die Erstellung von Threads in diesem Modell ist auf eine bestimmte Anzahl beschränkt. Dieses Modell wird von Windows NT, Windows 2000 und OS/2 verwendet.

    Man-to-Many-Modell
    Dieses Modell multiplext viele Threads auf Benutzerebene zu einer kleineren oder gleichen Anzahl von Kernel-Threads. Die Anzahl der Kernel-Threads kann entweder für eine bestimmte Anwendung oder eine bestimmte Maschine spezifisch sein. Der Benutzer kann beliebig viele Benutzer-Threads erstellen und entsprechende Kernel-Threads können parallel auf Multiprozessoren laufen. Wenn ein Thread einen blockierenden Systemaufruf durchführt, kann der Kernel einen anderen Thread ausführen. Es wird von Solaris 2, IRIX und Tru64 verwendet.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear