. Das .NET-Framework ist eine Laufzeit-Klassenbibliothek für C#, . .NET ist eine Multithread-Umgebung. Ein Thread ist ein einzelner sequentieller Steuerungsprozess in einem Prozess. Ein Thread ist eine Entität in einem Prozess. Ein Prozess kann mehrere Threads haben, und ein Thread muss einen Elternprozess haben.
Threads haben im Allgemeinen drei Grundzustände: Lesen, Blockieren und Operation. Aus den drei Grundzuständen werden fünf grundlegende Operationen von Threads abgeleitet. Erstens werden Threads innerhalb eines Prozesses abgeleitet. Zweitens: Planen Sie einen fertigen Thread aus, um den Operationszustand einzugeben. Drittens: Blocken: Wenn ein Thread während der Ausführung auf ein Ereignis warten muss, wird er blockiert. Viertens: Entblocken: Wenn das Event startet, wird der Thread entblockt und tritt in die Bereitschaftswarteschlange ein. Fünftens: Finish, der Thread endet, und der Registerkontext sowie der Stack-Inhalt, den er ausgeführt hat, werden freigegeben.
Ein neuer Thread ist ein neu generiertes Thread-Objekt, das noch keine Ressourcen zugewiesen hat. Daher kannst du nur die Start()- oder Close()-Methoden verwenden.
Der ausführbare Zustand ist, wenn der Thread die benötigten Ressourcen für den Thread erhält, nachdem die start()-Methode ausgeführt und die run()-Methode ausgeführt wird.
Der Not Runable-Zustand ist ein Zustand, der eintritt, wenn folgende Ereignisse auftreten, die suspend()-Methode aufgerufen wird, die sleep()-Methode aufgerufen wird, der Thread wait() verwendet, um auf die Bedingungsvariable zu warten, und der Thread auf I/O wartet.
Tot ist, wenn die Run()-Methode zurückkehrt oder ein anderer Thread die stop()-Methode aufruft und der Thread in den toten Zustand eintritt. Im Folgenden finden Sie zwei einfache Beispiele für Thread.
Zusammenfassung: Warum Thread (Multi-Threading) verwenden? Das dient dazu, das Blockieren des Hauptthreads zu vermeiden; wenn man eine große Datenmenge verarbeiten oder eine zeitaufwändige Methode aufrufen muss, müssen wir Thread-Multithreading verwenden.
Beispiel:
Multithreading wird nicht verwendet: Die Benutzeroberfläche reagiert nicht... Das liegt daran, dass Multithreading nicht verwendet wird
|