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

Skats: 3427|Atbildi: 2

[Avots] Tiek izmantots jauns taimeris .NET 6 PeriodicTimer

[Kopēt saiti]
Publicēts 02.08.2023 19:12:40 | | |
Prasības: Izmantojiet ASP.NET Core 6, lai izveidotu jaunu fona pakalpojumu, lai regulāri veiktu aptaujas, lai iegūtu datus un izmantotu toSistēma.Taimeri.TaimerisTaimera aptauja, pievienojot papildu monitora kodu, lai novērstu atkārtotu izpildi vienlaicīgi, lai gan tas atbilst manām biznesa vajadzībām, nav pietiekami elegants, un jaunā PeriodicTimer taimeri izmantošana .NET 6 var labāk apmierināt manas biznesa vajadzības.

Kā izstrādātājs, iespējams, iepriekš esat izmantojis taimeri .NET. Mūsdienās .NET ir pieejami daudzi taimeri veidi, un katrs no tiem kalpo citam mērķim. Šādi:

  • Sistēma.Threading.Timer
  • Sistēma.Taimeri.Taimeris
  • Sistēma.Windows.Forms.Timer
  • Sistēma.Web.UI.Timer
  • Sistēma.Windows.Threading.DispatcherTimer


Jauns taimeris tika ieviests .NET 6 - System.Threading.PeriodicTimer, un lielākā atšķirība salīdzinājumā ar iepriekšējiem taimeriem ir tā, ka jaunā PeriodicTimer notikumu apstrādi var izmantot ērtāk asinhronā veidā, novēršot atzvanīšanas mehānismu un samazinot lietošanas sarežģītību.

.NET 6 ieviesa jaunu taimera tipu ar nosaukumu PeriodicTimer. PeriodicTimer galvenais mērķis ir izvairīties no atzvanīšanas izmantošanas.Izvairīšanās no atzvanīšanas ietaupa mūs no atmiņas noplūdes, kas var rasties ilgtermiņa operācijās, un mēs varam rakstīt asinhronu kodu, nevis sinhronizēt, izmantojot asinhronu, lai izmantotu šo metodi atzvanījumos. Iespējams, jums ir darīšana ar pašreizējo taimera tipuVēl viena problēma ir atzvanīšanas pārklāšanās。 Ja nerakstāt kodu atzvanīšanas pārklāšanās scenārijiem, lietojumprogrammā var tikt novērota neparedzēta darbība.

radītPeriodiskais taimerisGadījums ir ļoti vienkāršs, vienīgais parametrs, kas jums jānorāda, ir perioda vērtība, kods ir šāds:

Asinhronā laika fona uzdevuma kods:

(Beigas)





Iepriekšējo:Base64 dekodēšanas kļūdas pastāv visās .NET versijās
Nākamo:.NET/C# vispārējā T kovarianta izeja un invertors saskarnē
 Saimnieks| Publicēts 02.08.2023 20:22:23 |
 Saimnieks| Publicēts 12.11.2023 09:42:28 |
Pakalpojums tiek pārtraukts, un CancellationToken paziņo par uzdevuma atcelšanu, kā rezultātā tiek izmests:OperācijaAtceltsIzņēmumsPatoloģiska
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