-
Plūsmas "Thread"
Образец документа10 Компьютеры, программирование, электроника
Nr. | Название главы | Стр. |
Ievads | 3 | |
1. | Plūsmu izveide | 4 |
1.1. | Sinhronā delegāta daba | 4 |
1.2. | Asinhrona delegata daba | 5 |
1.3. | AsyncCallback delegāta loma | 7 |
1.4. | ThreadStart | 8 |
2. | Plūsmu sinhronizācija | 10 |
2.2. | System.Threading.Monitor | 12 |
2.3. | Synchronization | 12 |
3. | Prioritārās un fona plūsmas | 14 |
Izmantotā literatūra | 15 |
3.Prioritārās un fona plūsmas
Papildus iedalījumam pamata un darba plūsmai, plūsmas tiek iedalītas arī:
• Prioritārās plūsmas nodrošina tekošajai aplikācijai aizsardzību no pāragras aplikācijas darbības beigšanas. CLR vide nepārtrauks aplikācijas darbu (jeb neizlādēs attiecīgo aplikācijas domēnu), kamēr netiks pabeigtas visas prioritārie plūsmas.
• Fonu plūsmas CLR vide apskata atjaunojamus izpildes zarus, kuru var neņemt vērā jebkurā laika momentā (pat tad, kad tie izpilda savus uzdevumus). Tādēļ, kad visas prioritārās plūsmas ir izpildītas, visas fona plūsmas būs pabeigtas automātiski tādēļ, ka tiks izlādēts aplikācijas domēns.
Ir svarīgi saprast, ka prioritārto un fonu plūsmu jēdziens – tas nav sinonīms pamata un darba plūsmai. Pēc noklusējuma katra plūsma, kas tiek izveidota ar Thread.Start() metodes plīdzību, automātiski kļūs par prioritāru plūsmu. Tas nozīmē, ka aplikācijas domēns netiks izlādēts līdz tam momentam, kamēr visas plūsmas nepabeigs savu darbu.
Iedomāsimies, ka mums nepieciešms izsaukt Printer.PrintNumbers() otrkārtējā plūsmā, kurai nepieciešams darboties, kā fona plūsmai. Tas nozīmē, ka metodei, uz kuru norāda Thread tips, nepieciešams paredzēt iespēju „nesāpīgi” beigt darbību, tiklīdz visas prioritārās plūsmas pabeigs savu darbu. …
Kaut arī datora datu apstrādes jauda nepārtraukti aug, kas ļauj veikt aizvien sarežģītākus uzdevumus vēl ātrāk, nereti programmētāji nevar atļauties lineāru komandu izpildi pēc kārtas. Ja aplikācija sastāv no nelieliem uzdevumiem, kurus ierīce var izpildīt ātri, tā var iztikt ar vienu -pamata plūsmu. Taču, ja aplikācija veic kādu uzdevumu, kas ilgst vairākas sekundes un tajā pašā laikā lietotājs var izsaukt kādas citas komandas, tiek izmantotas papildus – darba plūsmas.
