Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 18422|Atbildi: 1

[Avots] C# iemācās lietot pavedienus

[Kopēt saiti]
Publicēts 27.03.2017 17:32:28 | | |

. .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




Iepriekšējo:Kas ir nekustamā īpašuma priekšnieks Wu Xuezhan aiz "mātes apvainojuma lietas"?
Nākamo:BundleTable neielādē js un css failus ar min
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com