이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3427|회답: 2

[출처] .NET 6에서 새로운 타이머인 PeriodicTimer가 사용됩니다

[링크 복사]
게시됨 2023. 8. 2. 오후 7:12:40 | | |
요구사항: ASP.NET Core 6를 사용하여 정기적으로 폴링하여 데이터를 얻는 새로운 백그라운드 서비스를 만들고 이를 활용할 것입니다시스템.타이머.타이머타이머 폴링, 반복 실행을 방지하기 위한 추가 Monitor 코드 추가는 비즈니스 요구에는 맞지만 충분히 세련되지는 않고, .NET 6의 새로운 PeriodicTimer 타이머를 사용하는 것이 비즈니스 요구에 더 잘 맞습니다.

개발자로서 .NET에서 타이머를 사용해본 적이 있을 수도 있습니다. 오늘날 .NET에는 다양한 종류의 타이머가 있으며, 각각 다른 목적을 가지고 있습니다. 다음과 같습니다:

  • 시스템.스레딩.타이머
  • 시스템.타이머.타이머
  • System.Windows.Forms.Timer
  • System.Web.UI.타이머
  • System.Windows.Threading.DispatcherTimer


.NET 6에서 새로운 타이머인 System.Threading.PeriodicTimer가 도입되었으며, 이전 타이머들과 비교해 가장 큰 차이점은 새로운 PeriodicTimer의 이벤트 처리가 더 편리한 비동기 방식으로 사용될 수 있어 콜백 사용 메커니즘을 없애고 사용 복잡성을 줄였다는 점입니다.

.NET 6는 PeriodicTimer라는 새로운 타이머 유형을 도입했습니다. PeriodicTimer의 주요 목적은 콜백 사용을 피하는 것입니다.콜백을 피하면 장기 작업에서 발생할 수 있는 메모리 누수를 처리하지 않게 됩니다, 그리고 콜백에서 그 메서드를 사용할 때 비동기 코드 대신 비동기 코드를 작성할 수 있습니다. 현재 타이머 유형을 다루고 있을 수도 있습니다또 다른 문제는 겹치는 콜백입니다。 콜백 중복 상황에 맞게 코드를 작성하지 않으면, 애플리케이션에서 예상치 못한 동작이 나타날 수 있습니다.

창조하다주기 타이머인스턴스는 매우 간단하며, 필요한 매개변수는 주기 값뿐이며, 코드는 다음과 같습니다:

비동기 타이밍 백그라운드 작업 코드:

(끝)





이전의:모든 버전의 .NET 버전에서 Base64 디코딩 오류가 존재합니다
다음:.NET/C# 일반적인 T 공변 출력과 인터페이스 내 인버터
 집주인| 게시됨 2023. 8. 2. 오후 8:22:23 |
 집주인| 게시됨 2023. 11. 12. 오전 9:42:28 |
서비스가 중단되면 CancellationToken이 작업 취소를 알리면서 다음과 같은 결과가 발생합니다:OperationCanceledException비정상적인
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com