c#创建定时执行任务的三种方法
using System;
using System.Collections;
using System.Threading;public class Test
{public static void Main(){Test obj = new Test();Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());//方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间Thread thread = new Thread(new ThreadStart(obj.Method1));thread.Start();//方法二:使用System.Timers.Timer类System.Timers.Timer t = new System.Timers.Timer(100);//实例化Timer类,设置时间间隔t.Elapsed += new System.Timers.ElapsedEventHandler(obj.Method2);//到达时间的时候执行事件t.AutoReset = true;//设置是执行一次(false)还是一直执行(true)t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件while (true) {Console.WriteLine("test_" +Thread.CurrentThread.ManagedThreadId.ToString());Thread.Sleep(100);}//方法三:使用System.Threading.Timer//Timer构造函数参数说明:// Callback:一个 TimerCallback 委托,表示要执行的方法。// State:一个包含回调方法要使用的信息的对象,或者为空引用(Visual Basic 中为 Nothing)。// dueTime:调用 callback 之前延迟的时间量(以毫秒为单位)。// 指定 Timeout.Infinite 以防止计时器开始计时。指定零 (0) 以立即启动计时器。//Period:调用 callback 的时间间隔(以毫秒为单位)。指定 Timeout.Infinite 可以禁用定期终止。System.Threading.Timer threadTimer = new System.Threading.Timer(new System.Threading.TimerCallback(obj.Method3),null, 0, 100);while (true){Console.WriteLine("test_" +Thread.CurrentThread.ManagedThreadId.ToString());Thread.Sleep(100);} Console.ReadLine();}void Method1(){while (true){Console.WriteLine(DateTime.Now.ToString()+ "_" + Thread.CurrentThread.ManagedThreadId.ToString());Thread.CurrentThread.Join(100);//阻止设定时间}}void Method2(object source,System.Timers.ElapsedEventArgs e){Console.WriteLine(DateTime.Now.ToString()+ "_" + Thread.CurrentThread.ManagedThreadId.ToString());}void Method3(Objectstate){Console.WriteLine(DateTime.Now.ToString()+ "_" +Thread.CurrentThread.ManagedThreadId.ToString());}
}
c#创建定时执行任务的三种方法相关推荐
- java定时执行某个方法_Java中定时执行任务的三种方法
Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...
- php定时执行任务,PHP定时执行任务的3种方法详解
PHP定时执行的三种方式实现 1.windows 的计划任务 2.linux的脚本程序 3.让web浏览器定时刷新 具体实现 1.windows计划任务 PHP很少在win服务器上跑,具体实现也不再深 ...
- Spark创建DataFrame的三种方法
跟关系数据库的表(Table)一样,DataFrame是Spark中对带模式(schema)行列数据的抽象.DateFrame广泛应用于使用SQL处理大数据的各种场景.创建DataFrame有很多种方 ...
- python实现定时任务的方式_Python实现定时执行任务的三种方式简单示例
本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 #!/user/bin/env python # @Time :2018/6/7 16:31 ...
- Java创建线程的三种方法
这里不会贴代码,只是将创建线程的三种方法做个笼统的介绍,再根据源码添加上自己的分析. 通过三种方法可以创建java线程: 1.继承Thread类. 2.实现Runnable接口. 3.实现Callab ...
- Java 创建线程的三种方法比较
在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂jav ...
- Python创建多线程的三种方法
Python创建多线程的三种方法 thread模块函数式创建线程 继承threading类创建多线程 threading模块函数式创建线程 使用总结 thread模块函数式创建线程 调用thread模 ...
- python定时执行脚本_Python实现定时执行任务的三种方式简单示例
本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 #!/user/bin/env python # @Time :2018/6/7 16:31 ...
- 宝塔定时任务执行php源码任务_ThinkPHP框架实现定时执行任务的两种方法分析
本文实例讲述了ThinkPHP框架实现定时执行任务的两种方法.分享给大家供大家参考,具体如下: 在平常的项目中我们总是会遇到需要将某个方法任务定时执行的问题,定时执行方法任务如果我们拥有服务器的权限, ...
最新文章
- 鸽巢原理(抽屉原理)的详解
- ACM入门之【DP】
- 大数据项目一般金额多少_大数据分析师年薪一般多少?学什么专业才能从事大数据?...
- 2021云栖大会,打卡IoT最全攻略
- HTTP Session、Cookie机制详解
- FOSS历史回顾:三代开源人的故事
- 外连接有 OR 关联条件只能走 NL优化
- 是否应该提供一个dao.insertIgnoreNull ? (像updateIgnoreNull一样)
- Activiti数据库表结构(表详细版)
- 比亚迪:华为的手机,我们造的
- 大数据_Hbase-API访问_Java操作Hbase_判断表是否存在---Hbase工作笔记0012
- 使用遗传算法解决N皇后问题
- 张宴Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)故障解决方案...
- matlab日期时间函数汇总
- windows10服务器iis发布网站,win10系统+iis7发布网站或服务的详细办法
- 用mysql设计一个KTV点歌系统_KTV点歌系统(JAVA+MYSQL)
- 用AI如何预测《权力的游戏》死亡名单?真是神了!
- 驾驭你的“职场布朗运动”---转载
- vue渲染大量数据如何优化_大数据量场景下的Vue性能优化
- IG痛失亚军,含泪夺冠,奖杯是用区块链的技术合成的你知道吗
热门文章
- Wi-Fi如何搭建Web认证
- 《淘宝网开店 进货 运营 管理 客服 实战200招》——导读
- HTML面试题十:前端需要注意哪些SEO
- Swift3.0可选类型(Optional)倾心总结
- php 设置中文字体,css设置不了中文字体怎么办
- 数据库的基础增删改查SQL语句
- [新手必备]如何用c#写挂机游戏的回合制角色对战(多人vs多人对战部分)
- 第九周项目六警察抓小偷
- android:mimetype 自定义,Android: Intent匹配及mimeType匹配,这一篇就够了!!
- TCP之PSH标志位