Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3427|Odgovoriti: 2

[Vir] Uporablja se nov časovnik v .NET 6, PeriodicTimer

[Kopiraj povezavo]
Objavljeno na 2. 08. 2023 19:12:40 | | |
Zahteve: Uporabite ASP.NET Core 6 za ustvarjanje nove ozadne storitve, ki jo redno anketira za pridobivanje podatkov in jo uporabljaSystem.Timers.TimerTimer anketiranje, dodajanje dodatne Monitor kode za preprečevanje ponavljajočega se izvajanja hkrati, čeprav ustreza mojim poslovnim potrebam, ni dovolj elegantno, uporaba novega PeriodicTimer časovnika v .NET 6 pa lahko bolje ustreza mojim poslovnim potrebam.

Kot razvijalec ste morda že uporabljali časovnike v .NET-u. Danes je v .NET veliko vrst časovnikov, vsak pa služi drugačnemu namenu. Kot sledi:

  • System.Threading.Timer
  • System.Timers.Timer
  • System.Windows.Forms.Timer
  • System.Web.UI.Timer
  • System.Windows.Threading.DispatcherTimer


V .NET 6 je bil predstavljen nov Timer - System.Threading.PeriodicTimer, največja razlika v primerjavi s prejšnjimi Timerji pa je, da je upravljanje dogodkov novega PeriodicTimerja mogoče uporabljati bolj priročno in asinhrono, kar odpravlja mehanizem uporabe povratnih klicev in zmanjšuje kompleksnost uporabe.

.NET 6 je uvedel nov tip časovnika, imenovan PeriodicTimer. Glavni namen PeriodicTimerja je izogibanje uporabi povratnih klicev.Izogibanje povratnim klicem nas rešuje težav z uhajanjem pomnilnika, ki se lahko pojavijo pri dolgoročnih operacijah, in lahko napišemo asinhrono kodo namesto sinhronizacije preko asinhrone, da uporabimo to metodo pri povratnih klicih. Morda imate opravka s trenutnim tipom časovnikaDruga težava so prekrivajoče se povratne klice。 Če ne pišete kode za scenarije prekrivanja povratnih klicev, lahko v svoji aplikaciji opazite nepričakovano vedenje.

ustvaritiPeriodicTimerInstanca je zelo preprosta, edini parameter, ki ga morate navesti, je vrednost obdobja, koda pa je naslednja:

Ozadje naloge z asinhronim časovnim usklajevanjem:

(Konec)





Prejšnji:Napake pri dekodiranju Base64 obstajajo v vseh različicah .NET
Naslednji:.NET/C# generični T kovariantni izhod in inverter v vmesniku
 Najemodajalec| Objavljeno na 2. 08. 2023 20:22:23 |
 Najemodajalec| Objavljeno na 12. 11. 2023 09:42:28 |
Storitev se ustavi, CancellationToken pa obvesti preklic naloge, kar povzroči sprožitev:OperationCanceledExceptionNenormalno
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com