最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#定時(shí)器中的System.Timers.Timer詳解

 更新時(shí)間:2026年02月03日 17:11:21   作者:ByteGeek?  
System.Timers.Timer 是 .NET 框架中用于創(chuàng)建基于時(shí)間間隔的定時(shí)器類,它屬于 System.Timers 命名空間,這篇文章給大家介紹了C#定時(shí)器中的System.Timers.Timer相關(guān)知識,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

System.Timers.Timer 是 .NET 框架中用于創(chuàng)建基于時(shí)間間隔的定時(shí)器類,它屬于 System.Timers 命名空間。這個(gè)定時(shí)器類設(shè)計(jì)用于多線程環(huán)境中的服務(wù)器或服務(wù)組件,沒有用戶界面,在運(yùn)行時(shí)不可見。

核心特性

‌事件驅(qū)動(dòng)模型‌: System.Timers.Timer 通過 Elapsed 事件來通知定時(shí)器已經(jīng)過了指定的時(shí)間間隔。當(dāng)定時(shí)器到達(dá)設(shè)定的時(shí)間間隔時(shí),會(huì)引發(fā) Elapsed 事件。
‌多線程執(zhí)行‌: 該定時(shí)器在 ThreadPool 線程上運(yùn)行,適用于后臺(tái)任務(wù)處理。它可以在一定時(shí)間間隔內(nèi)重復(fù)執(zhí)行任務(wù)。
‌自動(dòng)重置功能‌: 通過 AutoReset 屬性控制是否重復(fù)觸發(fā)事件。當(dāng) AutoReset 設(shè)置為 true 時(shí),定時(shí)器會(huì)持續(xù)重復(fù)執(zhí)行;設(shè)置為 false 時(shí),只在第一次時(shí)間間隔后觸發(fā)一次。

主要屬性

● ‌Interval‌:設(shè)置定時(shí)器觸發(fā)事件的時(shí)間間隔(單位為毫秒)
● ‌AutoReset‌:控制定時(shí)器是否重復(fù)觸發(fā)事件
● ‌Enabled‌:控制定時(shí)器是否啟用

使用示例

案例代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using Timer = System.Timers.Timer;
namespace ConsoleTest
{
    internal class Program
    {
        private static Timer backgroundTimer;
        private static int taskCounter = 0;
        private static bool isRunning = false;
        static void Main(string[] args)
        {
            Console.WriteLine("System.Timers.Timer 使用案例");
            Console.WriteLine("============================");
            // 創(chuàng)建定時(shí)器,每3秒執(zhí)行一次
            backgroundTimer = new Timer(3000);
            backgroundTimer.Elapsed += OnTimerElapsed;
            backgroundTimer.AutoReset = true;
            // 啟動(dòng)定時(shí)器
            backgroundTimer.Enabled = true;
            isRunning = true;
            Console.WriteLine("定時(shí)器已啟動(dòng),每3秒執(zhí)行一次后臺(tái)任務(wù)");
            Console.WriteLine("輸入 'stop' 停止定時(shí)器,輸入 'exit' 退出程序");
            while (true)
            {
                string input = Console.ReadLine();
                if (input?.ToLower() == "stop")
                {
                    StopTimer();
                }
                else if (input?.ToLower() == "exit")
                {
                    break;
                }
            }
            // 清理資源
            StopTimer();
            backgroundTimer.Dispose();
            Console.WriteLine("程序結(jié)束");
        }
        private static void OnTimerElapsed(object source, ElapsedEventArgs e)
        {
            taskCounter++;
            Console.WriteLine($"[后臺(tái)任務(wù) {taskCounter}] 執(zhí)行時(shí)間: {e.SignalTime:yyyy-MM-dd HH:mm:ss}");
            // 模擬一些后臺(tái)工作
            PerformBackgroundWork();
        }
        private static void PerformBackgroundWork()
        {
            try
            {
                // 模擬耗時(shí)操作
                Thread.Sleep(1000);
                Console.WriteLine($"[后臺(tái)任務(wù) {taskCounter}] 工作完成");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"[錯(cuò)誤] 后臺(tái)任務(wù)執(zhí)行出錯(cuò): {ex.Message}");
            }
        }
        private static void StopTimer()
        {
            if (isRunning)
            {
                backgroundTimer.Enabled = false;
                isRunning = false;
                Console.WriteLine("定時(shí)器已停止");
            }
        }
    }
}

與其他定時(shí)器的區(qū)別

System.Timers.Timer 與 System.Threading.Timer 和 System.Windows.Forms.Timer 相比,具有以下特點(diǎn):
● ‌System.Timers.Timer‌: 定期觸發(fā)事件,類旨在用作多線程環(huán)境中的基于服務(wù)器或服務(wù)組件;它沒有用戶界面,在運(yùn)行時(shí)不可見(不可以直接更新UI界面)
● ‌System.Threading.Timer‌: 定期在線程池線程上執(zhí)行單個(gè)回調(diào)方法(不可以直接更新UI界面)
● ‌System.Windows.Forms.Timer‌: 一種 Windows 窗體組件,按固定時(shí)間間隔觸發(fā)事件(可以直接更新UI界面)

到此這篇關(guān)于C#中定時(shí)器中的System.Timers.Timer詳解的文章就介紹到這了,更多相關(guān)C# 定時(shí)器System.Timers.Timer內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

镇沅| 蓬溪县| 阳谷县| 图木舒克市| 日土县| 晋江市| 蒙自县| 丰原市| 台东县| 龙胜| 冷水江市| 海晏县| 特克斯县| 株洲县| 武汉市| 高州市| 娱乐| 金山区| 太和县| 车险| 葵青区| 镇原县| 华坪县| 南丰县| 凤凰县| 南陵县| 察哈| 西和县| 平顶山市| 通榆县| 玛多县| 江山市| 班戈县| 富阳市| 威信县| 上虞市| 澄城县| 平湖市| 通山县| 铅山县| 潼南县|