Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 3427|Απάντηση: 2

[Πηγή] Χρησιμοποιείται ένα νέο χρονόμετρο στο .NET 6, το PeriodicTimer

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2/8/2023 7:12:40 μ.μ. | | |
Απαιτήσεις: Χρησιμοποιήστε το ASP.NET Core 6 για να δημιουργήσετε μια νέα υπηρεσία παρασκηνίου για τακτική δημοσκόπηση για τη λήψη δεδομένων και χρησιμοποιήστε τηνΣύστημα.Χρονόμετρα.ΧρονόμετροΗ ψηφοφορία με χρονοδιακόπτη, η προσθήκη πρόσθετου κώδικα παρακολούθησης για την αποφυγή επαναλαμβανόμενης εκτέλεσης ταυτόχρονα, αν και ανταποκρίνεται στις ανάγκες της επιχείρησής μου, δεν είναι αρκετά κομψή και η χρήση του νέου χρονοδιακόπτη PeriodicTimer στο .NET 6 μπορεί να καλύψει καλύτερα τις ανάγκες της επιχείρησής μου.

Ως προγραμματιστής, μπορεί να έχετε χρησιμοποιήσει χρονόμετρα στο .NET στο παρελθόν. Υπάρχουν πολλοί τύποι χρονόμετρων στο .NET σήμερα, καθένας από τους οποίους εξυπηρετεί διαφορετικό σκοπό. Ως εξής:

  • Σύστημα.Σπείρωμα.Χρονόμετρο
  • Σύστημα.Χρονόμετρα.Χρονόμετρο
  • Σύστημα.Windows.Forms.Timer
  • Σύστημα.Web.UI.Timer
  • System.Windows.Threading.DispatcherTimer


Ένα νέο Timer εισήχθη στο .NET 6 - System.Threading.PeriodicTimer και η μεγαλύτερη διαφορά σε σύγκριση με τα προηγούμενα Timers είναι ότι ο χειρισμός συμβάντων του νέου PeriodicTimer μπορεί να χρησιμοποιηθεί με πιο βολικό ασύγχρονο τρόπο, εξαλείφοντας τον μηχανισμό χρήσης επανακλήσεων και μειώνοντας την πολυπλοκότητα της χρήσης.

Το .NET 6 εισήγαγε έναν νέο τύπο χρονοδιακόπτη που ονομάζεται PeriodicTimer. Ο κύριος σκοπός πίσω από το PeriodicTimer είναι η αποφυγή χρήσης επανακλήσεων.Η αποφυγή επανακλήσεων μας σώζει από την αντιμετώπιση διαρροών μνήμης που μπορεί να προκύψουν σε μακροχρόνιες λειτουργίεςκαι μπορούμε να γράψουμε ασύγχρονο κώδικα αντί για συγχρονισμό μέσω ασύγχρονου για να χρησιμοποιήσουμε αυτήν τη μέθοδο σε επανακλήσεις. Μπορεί να έχετε να κάνετε με τον τρέχοντα τύπο χρονοδιακόπτηΈνα άλλο πρόβλημα είναι οι επικαλυπτόμενες επανακλήσεις。 Εάν δεν συντάξετε κώδικα για σενάρια επικάλυψης επιστροφής κλήσης, ενδέχεται να δείτε μη αναμενόμενη συμπεριφορά στην εφαρμογή σας.

δημιουργώPeriodicTimerΤο παράδειγμα είναι πολύ απλό, η μόνη παράμετρος που πρέπει να δώσετε είναι η τιμή της περιόδου, ο κωδικός έχει ως εξής:

Κωδικός εργασίας παρασκηνίου ασύγχρονου χρονισμού:

(Τέλος)





Προηγούμενος:Σφάλματα αποκωδικοποίησης Base64 υπάρχουν σε όλες τις εκδόσεις του .NET
Επόμενος:.NET/C# γενική συνμεταβλητή T έξω και μετατροπέας στη διεπαφή
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2/8/2023 8:22:23 μ.μ. |
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 12/11/2023 9:42:28 π.μ. |
Η υπηρεσία διακόπτεται και το CancellationToken ειδοποιεί για την ακύρωση της εργασίας, με αποτέλεσμα τη ρίψη:OperationCanceledExceptionανώμαλος
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com