. .NET-ramverket är ett runtime-klassbibliotek för C#, . .NET är en multitrådad miljö. En tråd är en enda sekventiell kontrollprocess i en process. En tråd är en enhet i en process. En process kan ha flera trådar, och en tråd måste ha en föräldraprocess.
Trådar har generellt tre grundläggande tillstånd: läsa, blockera och drift. Från de tre grundläggande tillstånden härleds fem grundläggande operationer för trådar. För det första, härled, trådar härleds inom en process. För det andra, schemalägg och välj en redo tråd för att ange operationstillståndet. För det tredje, blockera, om en tråd behöver vänta på att en händelse ska inträffa under exekveringen, kommer den att blockeras. För det fjärde, avblockera, om händelsen startar avblockeras tråden och går in i ready-kön. För det femte, avsluta, tråden slutar, och registerkontexten samt stackinnehållet som den körde släpps.
En ny tråd är ett nygenererat trådobjekt som ännu inte har allokerat resurser. Därför kan du bara använda start() eller stäng()-metoderna.
Det körbara tillståndet är när tråden får de resurser som behövs för tråden efter att start()-metoden körts och anropar run()-metoden för att köra.
Tillståndet Not Runable är ett tillstånd som går in när följande händelser inträffar, suspend()-metoden anropas, sleep()-metoden anropas, tråden använder wait() för att vänta på villkorsvariabeln, och tråden väntar på I/O.
Död är när Run()-metoden återvänder, eller när en annan tråd anropar stop()-metoden, och tråden går in i döda tillstånd. Nedan följer två enkla exempel på Thread.
Sammanfattning: Varför använda Thread (multitrådning)? Detta är för att undvika att blockera huvudtråden, om du behöver bearbeta en stor mängd data eller anropa en tidskrävande metod måste vi använda trådmultitrådning.
Exempel:
Använder inte multitrådning: Gränssnittet svarar inte... Det beror på att multitrådning inte används
|