C# 设置一个定时器函数

C#中,创建设置一个定时器,能够定时中断执行特定操作,可以用于发送心跳、正计时和倒计时等。
本文对C#的定时器简单封装一下,哎,以方便定时器的创建。

定义

using Timer = System.Timers.Timer;

class SetTimer
{
    Timer aTimer = null;

    /// <summary>
    /// 设置定时器函数
    /// </summary>
    public delegate void TimerWork(object source, ElapsedEventArgs e);

    /// <summary>
    /// 每隔 interval/1000 秒 发送控制器心跳信号
    /// </summary>
    /// <param name="interval">时间间隔,单位是毫秒</param>
	/// <param name="work">定义的需要触发的函数</param>
    public SetTimer(int interval, TimerWork work)
    {
        // 创建一个定时器
        aTimer = new Timer(interval);

        // 绑定触发事件.
        aTimer.Elapsed += new System.Timers.ElapsedEventHandler(work);

        aTimer.AutoReset = true;    // 让计时器触发重复事件(true是默认值)
        aTimer.Enabled = true;      // 启动 timer,与aTimer.Start()同
    }
    /// <summary>
    /// 停止计时
    /// </summary>
    public void Stop()
    {
        if (aTimer != null)
        {
            aTimer.Enabled = false; // 停止计时
            aTimer.Dispose();       // 释放资源
            aTimer = null;          // 设为空值
        }
    }
}

应用

static void Main(string[] args)
{
    int second = 0;
    // 此处也可以定义一个对象名,然后在某时刻关闭它。
    new SetTimer(1000, (source, e) =>
    {
        Console.Write(second++);
    });
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/351371.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx编译安装以及负载均衡配置(Ubuntu 22.04)

目录 Nginx编译安装以及负载均衡配置 Ubuntu 22.04.1 LTS 编译安装 nginx-1.22.1 1.安装依赖包 2. 下载nginx 3. 编译安装 报错解决 解决问题2 4.安装 5启动Nginx&#xff1a; 负载均衡 负载均衡算法 轮询 加权负载均衡 ip_hash算法 算法进行配置演示 加权负载均衡 轮询 IP 哈希…

如何提高记忆力?

许多学员经常问我&#xff1a;为什么您的记忆力那么好&#xff1f;有没有什么方法&#xff0c;可以提高记忆力&#xff1f; 今天&#xff0c;我想好好聊聊这个问题。 当然&#xff0c;学习和记忆&#xff0c;是一个巨大的话题。这篇文章只是一个初探。希望能帮你打开一些视野&a…

IPoE技术汇总

在国内并没有遇到这么多的IPoE&#xff08;IP over Ethernet&#xff09;技术&#xff0c;可能也是因为我来日本多年了&#xff0c;没有接触国内的IPv4 over IPv6的技术&#xff0c;感觉国内IPv4地址紧张&#xff0c;用的传统NAT和PPPoE非常多&#xff0c;大多数设备还是建立在…

好物周刊#38:在线图片处理

https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. AiEditor 一个面向 AI 的下一代富文本编辑器&#xff0c;她基于 Web C…

8通液体水位检测IC/液位检测芯片/抗干扰水位检测VK36W8I SOP16/QFN16L FAE支持

产品型号&#xff1a;VK36W8I 产品品牌&#xff1a;永嘉微电/VINKA 封装形式&#xff1a;SOP16/QFN16L 工程服务&#xff0c;技术支持&#xff01; 概述 VK36W8I具有8个触摸检测通道&#xff0c;可用来检测8个点的水位。该芯片具有较高的集成度&#xff0c;仅需极少的外部组…

2024 高级前端面试题之 CSS 「精选篇」

该内容主要整理关于 CSS 的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 CSS模块精选篇 1. 盒模型2. BFC3. 层叠上下文4. 居中布局5. 选择器权重计算方式6. 清除浮动7. link 与 import 的区别8. CSS3的新特性9. CSS动画和过渡10. 有哪些…

目录操作(实现ls -i的功能(加一个文件类型))

1》打开目录 opendir #include <sys/types.h> #include <dirent.h> DIR *opendir(const char *name); 形参&#xff1a;name&#xff1a;要打开的目录的路径/名字 返回值&#xff1a;成功DIR *类型的目录流指针 失败&#xff1a;返回NULL 2》关闭目录 closedir #…

万界星空科技可视化数据大屏的作用

随着科技的不断发展和进步&#xff0c;当前各种数据化的设备也是如同雨后春笋般冒了出来&#xff0c;并且其可以说是给我们带来了极大的便利的。在这其中&#xff0c;数据大屏就是非常具有代表性的一个例子。 数据大屏的主要作用包括&#xff1a; 数据分析&#xff1a;数据大屏…

一些反序列化总结

1 反序列化漏洞原理 如果反序列化的内容就是那串字符串&#xff0c;是用户可以控制的&#xff08;即变量的值&#xff09;&#xff0c;且后台不正当的使用了PHP中的魔法函数&#xff0c;就会导致反序列化漏洞&#xff0c;可以执行任意命令。Java 序列化指 Java 对象转换为字节序…

插入排序和希尔排序

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 插入排序基本思想&#xff1a;代码实现&#xff1b; 希尔排序基本思想&#xff1a;在这里插入图片描述多组并排优化《数据结构(C语言版)》--- 严蔚敏希…

Golang中make与new有何区别

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于go进阶系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系…

Typora 无法导出 pdf 问题的解决

目录 问题描述 解决困难 解决方法 问题描述 Windows 下&#xff0c;以前&#xff08;Windows 11&#xff09; Typora 可以顺利较快地由 .md 导出 .pdf 文件&#xff0c;此功能当然非常实用与重要。 然而&#xff0c;有一次电脑因故重装了系统&#xff08;刷机&#xff09;…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示&#xff1a; 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时&#xff0c;未由已启用…

Android 基础技术——RecyclerView

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 RecyclerView RecyclerView 对比 ListView 的优点 Adapter 面向的是 ViewHolder 不是 View, 可以省略 convertView.setTag 和 getTag 这些步骤可以设置布局管理器&#xff1a;竖向、横向、瀑布流方…

RUST笔记:candle使用基础

candle介绍 candle是huggingface开源的Rust的极简 ML 框架。 candle-矩阵乘法示例 cargo new myapp cd myapp cargo add --git https://github.com/huggingface/candle.git candle-core cargo build # 测试&#xff0c;或执行 cargo ckeckmain.rs use candle_core::{Device…

惊了!用vue开发官网,以前我觉得胡闹,现在觉得未尝不可。

以前&#xff0c;有人做好官网UI&#xff08;展示性&#xff0c;没啥功能&#xff09;&#xff0c;找我开发前端&#xff0c;说要vue来做&#xff0c;我都劝了。 基于以下四个原因&#xff1a; 1、官网毕竟还是考虑seo的&#xff0c;流量多少算多少&#xff0c;总比没有强&am…

Doris 与 Clickhouse 对比(一)

1. 常用引擎 ☕️ Doris 表数据模型 duplicate key &#x1f3ac; 场景&#xff1a;适用于数据无需提前聚合的分析业务。 ⚠️ 注意点&#xff1a;只指定排序列&#xff0c;相同的行并不会合并。 unique key &#x1f3ac; 场景&#xff1a;适用于有更新需求的业务。 ⚠…

Flink 集成 Debezium Confluent Avro ( format=debezium-avro-confluent )

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

数据结构——链式二叉树(2)

目录 &#x1f341;一、二叉树的销毁 &#x1f341;二、在二叉树中查找某个数&#xff0c;并返回该结点 &#x1f341;三、LeetCode——检查两棵二叉树是否相等 &#x1f315;&#xff08;一&#xff09;、题目链接&#xff1a;100. 相同的树 - 力扣&#xff08;LeetCode&a…

私有化部署ASR的方案,优缺点

私有化部署自动语音识别&#xff08;ASR&#xff09;系统的方案具有一些优点和缺点&#xff0c;下面苏州磐石云提出一些常见的优缺点&#xff1a; 优点&#xff1a; 数据隐私和安全性&#xff1a;私有化部署ASR系统可以确保数据在本地环境中进行处理和存储&#xff0c;更好地保…