Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 3427|Vastaus: 2

[Lähde] .NET 6:ssa käytetään uutta ajastinta, PeriodicTimer,

[Kopioi linkki]
Julkaistu 2.8.2023 19.12.40 | | |
Vaatimukset: Käytä ASP.NET Core 6:ta luodaksesi uuden taustapalvelun, jolla voit säännöllisesti hakea dataa ja käyttää sitäSystem.Timers.TimerTimer polling, lisätty Monitor-koodi toistuvien suoritusten estämiseksi, vaikka se vastaa liiketoimintatarpeitani, ei ole tarpeeksi eleganttia, ja uuden PeriodicTimer-ajastimen käyttö .NET 6:ssa vastaa paremmin liiketoimintatarpeisiini.

Kehittäjänä olet ehkä käyttänyt ajastimia .NETissä aiemmin. Nykyään .NETissä on monenlaisia ajastimia, joista jokaisella on oma tarkoituksensa. Seuraavasti:

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


Uusi ajastin esiteltiin .NET 6:ssa – System.Threading.PeriodicTimer, ja suurin ero aiempiin ajastimiin verrattuna on se, että uuden PeriodicTimerin tapahtumankäsittelyä voidaan käyttää kätevämmällä asynkronisella tavalla, mikä poistaa takaisinkutsujen käytön mekanismin ja vähentää käytön monimutkaisuutta.

.NET 6 esitteli uuden ajastintyypin nimeltä PeriodicTimer. PeriodicTimerin pääasiallinen tarkoitus on välttää takaisinkutsujen käyttöä.Takaisinsoittojen välttäminen säästää meidät muistivuodoilta, joita voi esiintyä pitkäaikaisissa operaatioissa, ja voimme kirjoittaa asynkronista koodia synkronoinnin sijaan käyttääksemme tätä menetelmää takaisinkutsuissa. Saatat olla tekemisissä nykyisen ajastintyypin kanssaToinen ongelma on päällekkäiset takaisinkutsut。 Jos et kirjoita koodia takaisinsoittojen päällekkäisyystilanteisiin, saatat nähdä yllättävää toimintaa sovelluksessasi.

luodaPeriodicTimerInstanssi on hyvin yksinkertainen, ainoa parametri, jonka tarvitset, on jakson arvo, koodi on seuraava:

Asynkronisen ajoituksen taustatehtäväkoodi:

(Loppu)





Edellinen:Base64-dekoodausvirheitä esiintyy kaikissa .NET-versioissa
Seuraava:.NET/C# geneerinen T-kovariantti ulostulo ja invertteri rajapinnassa
 Vuokraisäntä| Julkaistu 2.8.2023 20.22.23 |
 Vuokraisäntä| Julkaistu 12.11.2023 9.42.28 |
Palvelu pysähtyy, ja CancellationToken ilmoittaa tehtävän peruuttamisesta, mikä johtaa heittoon:OperationCanceledExceptionepänormaali
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com