Ikdienas izstrādē mēs varam izmantot rindas, kas ir krātuves struktūra, kas var sasniegt "pirmais iekšā, pirmais ārā".
Pielietojuma scenāriji: rakstiet žurnālus, sūtiet e-pastus utt
Ja mums ir jāieraksta katra lietotāja interfeisa žurnāls, kas pieprasa mūsu datus, mums nav jāraksta žurnāls katru reizi, kad lietotājs to pieprasa, mēs varam ievietot žurnāla saturu rindā un ļaut citiem pavedieniem to izpildīt, lai neietekmētu lietojumprogrammas efektivitāti.
Vēl viena priekšrocība ir tā, ka, pievienojot datus rindai vienlaicīguma gadījumā, izmantojot vienu pavedienu, lai izpildītu rindas datus, var izvairīties no daudziem izņēmumiem, ja vienlaicīga (vairāku pavedienu), piekļuve tam pašam fiziskajam failam radīs izņēmumus. (atkarībā no pieejamības)
Rindas universālā pieeja:
Šī ir abstrakta klase, un jums ir jāpārmanto šī abstrakcijas klase un jāievieš abstrakcijas izpildes metode. Tā kā es nezinu, kāda veida datus vēlaties apstrādāt, šeit tiek izmantoti vispārīgie vārdi, tas ir, Entītija ir virknes tipa, metodes parametri ir virknes tipa un dati, kurus apstrādājat, ir virknes tipa dati.
ConcurrentQueue pavedienu droša rinda nodrošina, ka vairāku pavedienu vidē nebūs izņēmumu.
ManualResetEvent, lai kontrolētu pavediena signālu,Agrāk mēs pārbaudījām datu rindu ik pēc dažām sekundēm vai minūtēmTagad mēs pievienojam datus rindai un tikai jānodod signāls!
Lietošana:
(Beigas)
|