首页 > 编程语言 >C#3种常见的定时器(多线程)

C#3种常见的定时器(多线程)

时间:2024-03-12 09:34:56浏览次数:29  
标签:定时器 C# System Timer Timers new 多线程 方法

总结以下三种方法,实现c#每隔一段时间执行代码:

方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间;
调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间 Thread thread = new Thread(new ThreadStart(obj.Method1)); thread.Start();
方法二:使用System.Timers.Timer类;
使用System.Timers.Timer类 System.Timers.Timer t = new System.Timers.Timer(100);
方法三:使用System.Threading.Timer;
using System;
using System.Threading;

class Program
{
static void Main(string[] args)
{
// 创建一个定时器
Timer timer = new Timer(TimerCallback, null, 0, 2000); // 每隔2000毫秒(2秒)执行一次

    Console.WriteLine("按任意键停止定时器...");
    Console.ReadKey();

    // 停止定时器
    timer.Dispose();
}

private static void TimerCallback(Object o)
{
    // 这里是定时执行的任务
    Console.WriteLine("定时任务执行: " + DateTime.Now);
}

}

标签:定时器,C#,System,Timer,Timers,new,多线程,方法
From: https://www.cnblogs.com/boboanhaoweiyuan/p/18067611

相关文章

  • mac 终端 zsh 和 bash 切换
    查看shell类型可以执行命令echo$SHELL,先查看终端类型。bash:/bin/bashzsh:/bin/zshshell类型切换命令切换到bash输入命令:chsh-s/bin/bash切换到zsh输入命令:chsh-s/bin/zsh注意需要重启终端生效(强制退出后再打开)遇到个问题:无法正常使用/usr/libexec/java_......
  • Libcomm通信库:GaussDB(DWS) 为解决建联过多的小妙招
    本文分享自华为云社区《GaussDB(DWS)集群通信系列三:Libcomm通信库》,作者:半岛里有个小铁盒。1.前言适用版本:【8.1.0(及以上)】在大规模集群、高并发业务下,如果有1000DN集群,每个stream线程需要建立1000个连接。如果1000stream并发,DN总共需要建立100万个连接,会消耗大量的连接、......
  • 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性
    本文分享自华为云社区《CWE4.14与ISA/IEC62443》,作者:Uncle_Tom。1.序言随着5G的应用,物联的网发展,越来越多的自动化控制系统、云服务在工业控制系统被广泛使用。为了实现生产自动化,很多企业都引入了由PLC(可编程逻辑控制器)控制的自动化生产设备和相关的自动化生产系统。用......
  • idea Git Force Checkout后的解决办法
    如果发生切到另一个分支,修改内容就消失的问题,可以依赖idea的local hsitory 功能将修改代码找回。(即idea会保存本地文件的修改历史,不依赖于git),示例如下:1、找到修改过的文件,右键--LocalHsitory--Show Hsitory   2、根据文件的历史记录,找到丢失的代码,将其恢复或合并本......
  • UVM宏解释+odt文件转doc+merge命令和difflib+python调用命令+clog2和系统函数+java添
    UVM宏解释UVM_DISABLE_AUTO_ITEM_RECORDINGhttps://blog.csdn.net/MGoop/article/details/127295965itemrecord的方法主要是用于记录事务信息的,原理是调用accept_tr,begin_tr,end_tr。似乎和波形上显示出各个事务相关。默认情况下,在调用get_next_item()和item_done()时自动......
  • TheWay2Hack
    TheWay2Hackercoding阶段一打基础。主要涉及两个方面,一个是代码质量和设计,代表课程是cs61a。预计时间为一个月(因为已经过去一个月了)。另一个是步入下一阶段的先导课,是为了进入更底层视角的铺垫,csapp和NandToTetris。每周一个lab,一共7个lab,预计时间为两个半月;另一个是NandToTe......
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/
    一、前言用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_alaw/pcm_mulaw,将这个原始的音频流保存到mp4文件是会报错的,在调用avformat_write_header写文件头的时候提示(-22)Invali......
  • 基于RocketMQ实现分布式事务
    背景在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事......
  • C# 虚方法virtual详解
    原文链接:https://blog.csdn.net/m0_65636467/article/details/128797283C#虚方法virtual详解在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译......
  • 包含Maven和Docker的Dockerfile
    要创建一个包含Maven和Docker的Dockerfile,你需要首先明确你的需求。通常,这样的Dockerfile可能是为了构建并打包一个Java项目,然后使用Docker将其部署。以下是一个简单的示例,展示了如何创建一个Dockerfile,该Dockerfile安装了Maven和Docker,然后构建并推送一个Java项目:Dockerfile#......