. .NET framework ir izpildlaika klases bibliotēka C#, . .NET ir vairāku pavedienu vide. Pavediens ir viens secīgs vadības process procesā. Pavediens ir procesa entītija. Procesam var būt vairāki pavedieni, un pavedienam ir jābūt vecākprocesam.
Pavedieniem parasti ir trīs pamatstāvokļi: lasīšana, bloķēšana un darbība. No trim pamatstāvokļiem tiek iegūtas piecas pavedienu pamatdarbības. Pirmkārt, atvasināt, pavedieni tiek iegūti procesā. Otrkārt, ieplānojiet, izvēlieties gatavu pavedienu, lai ievadītu darbības stāvokli. Treškārt, bloķējiet, ja pavedienam ir jāgaida, kamēr izpildes laikā notiks notikums, tas tiks bloķēts. Ceturtkārt, atbloķējiet, ja pasākums sākas, pavediens tiek atbloķēts, ieejot gatavajā rindā. Piektkārt, pabeigt, pavediens beidzas, un tiek atbrīvots reģistra konteksts un steka saturs, ko tas izpildīja.
Jauns pavediens ir jaunizveidots pavediena objekts, kuram vēl nav piešķirti resursi. Tāpēc var izmantot tikai start() vai close() metodes.
Izpildāmais stāvoklis ir tad, kad pavediens iegūst pavedienam nepieciešamos resursus pēc start() metodes palaišanas un izsauc run() metodi.
Stāvoklis Not Runable ir stāvoklis, kas ienāk, kad notiek šādi notikumi, tiek izsaukta suspend() metode, tiek izsaukta miega() metode, pavediens izmanto wait(), lai gaidītu nosacījuma mainīgo, un pavediens gaida I/O.
Dead ir tad, kad atgriežas Run() metode vai cits pavediens izsauc stop() metodi, un pavediens nonāk mirušā stāvoklī. Zemāk ir divi vienkārši pavediena piemēri.
Kopsavilkums: Kāpēc izmantot Thread (multi-threading), tas ir, lai novērstu galvenā pavediena bloķēšanu, ja jums ir nepieciešams apstrādāt lielu datu apjomu vai izsaukt laikietilpīgu metodi, mums jāizmanto Thread multi-threading.
Piemērs:
Neizmanto daudzpavedienu: interfeiss nereaģē... Tas ir tāpēc, ka daudzpavedieni netiek izmantoti
|