亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現的Win32控制臺線程計時器功能示例

2020-01-24 01:00:57
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現的Win32控制臺線程計時器功能。分享給大家供大家參考,具體如下:

在C#中提供了三種類型的計時器:

1、基于 Windows 的標準計時器(System.Windows.Forms.Timer)
2、基于服務器的計時器(System.Timers.Timer)
3、線程計時器(System.Threading.Timer)

一、基于 Windows 的標準計時器(System.Windows.Forms.Timer)

首先注意一點就是:Windows 計時器是為單線程環境設計的
此計時器從Visual Basic 1.0 版起就存在于該產品中,并且基本上未做改動

這個計時器是使用最簡單的一種,只要把工具箱中的Timer控件拖到窗體上,然后設置一下事件和間隔時間等屬性就可以了

二、基于服務器的計時器(System.Timers.Timer)

System.Timers.Timer不依賴窗體,是從線程池喚醒線程,是傳統的計時器為了在服務器環境上運行而優化后的更新版本,在VS2008的工具箱中沒有提供現成的控件,需要手工編碼使用此計時器

三、線程計時器(System.Threading.Timer)

線程計時器也不依賴窗體,是一種簡單的、輕量級計時器,它使用回調方法而不是使用事件,并由線程池線程提供支持。對消息不在線程上發送的方案中,線程計時器是非常有用的。

這里只針對控制臺線程計時器的使用給出代碼示例,后續會給出其它幾種的代碼示例:

using System;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Text;using System.Threading;/************************************************************************//* CSharp控制臺線程計時器代碼示例 * Powered by:testcs_dn * Blog:http://blog.csdn.net/testcs_dn *//************************************************************************/namespace CSharp控制臺線程計時器代碼示例{  /// <summary>  /// 控制臺線程計時器代碼示例  /// 這里展示了Windows API SetConsoleCtrlHandler函數的應用,同時展示了線程計時器的使用;  /// Author:testcs_dn  /// Date:2015-01-03  /// </summary>  class Program  {    /// <summary>    /// 計時器回調函數,在這里處理計時時間是否到達的判斷以及要做的事情;    /// </summary>    /// <param name="obj"></param>    public static void workOvertimeTimerCallback(object obj)    {      DateTime dt = DateTime.Now;      if (dt.Hour == 16 && dt.Minute > 0)      {        Console.WriteLine("ok");      }    }    //計時器變量    public static System.Threading.Timer workOvertimeTimer = null;    //定義處理程序委托    delegate bool ConsoleCtrlDelegate(int dwCtrlType);    const int CTRL_CLOSE_EVENT = 2;    //導入SetCtrlHandlerHandler API    [DllImport("kernel32.dll")]    private static extern bool SetConsoleCtrlHandler(ConsoleCtrlDelegate HandlerRoutine, bool Add);    static void Main(string[] args)    {      ConsoleCtrlDelegate newDelegate = new ConsoleCtrlDelegate(HandlerRoutine);      if (SetConsoleCtrlHandler(newDelegate, true))      {        //初始化計時器        workOvertimeTimer = new System.Threading.Timer(new TimerCallback(workOvertimeTimerCallback), null, 1000, 10000);        //這里執行你自己的任務,我舉例輸出“...”,為了展示長時間的任務,我用了一個死循環;        //避免輸出太多,使用了Sleep;        //注意:Sleep的時間不可太長,否則可能影響Console.ReadKey(),導致不能接收用戶輸入;        while (true)        {          Console.WriteLine("...");          Thread.Sleep(100);        }      }      else      {        Console.WriteLine("抱歉,API注入失敗,按任意鍵退出!");        Console.ReadKey();      }    }    /// <summary>    /// 處理程序例程,在這里編寫對指定事件的處理程序代碼    /// </summary>    /// <param name="CtrlType"></param>    /// <returns></returns>    static bool HandlerRoutine(int CtrlType)    {      switch (CtrlType)      {        case CTRL_CLOSE_EVENT:    //用戶要關閉Console了          Console.WriteLine();          Console.WriteLine("任務還沒有完成,確認要退出嗎?(Y/N)");          ConsoleKeyInfo ki = Console.ReadKey();          return ki.Key == ConsoleKey.Y;        default:          return true;      }    }  }}

更多關于C#相關內容感興趣的讀者可查看本站專題:《C#字符串操作技巧總結》、《C#數組操作技巧總結》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#程序設計之線程使用技巧總結》、《C#操作Excel技巧總結》、《WinForm控件用法總結》、《C#數據結構與算法教程》及《C#面向對象程序設計入門教程

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲xxx视频| 欧美一区二区影院| 久色乳综合思思在线视频| 亚洲男人天堂2023| 国产精品第一第二| 国产精品美女av| 日韩视频免费看| 国产精品视频最多的网站| 久久影院中文字幕| 精品动漫一区二区三区| 日韩av片永久免费网站| 欧美大片在线免费观看| 国产亚洲精品日韩| 一本色道久久综合亚洲精品小说| 成人免费视频a| 久久国产精品久久精品| 日韩电视剧在线观看免费网站| 国产精品av电影| 日韩精品在线观看一区二区| 日韩av在线精品| 青草热久免费精品视频| 日韩三级成人av网| 日本精品久久久| 欧美精品18videos性欧| 亚洲日韩欧美视频| 欧美亚洲另类激情另类| 91精品久久久久久久久| 成人免费在线视频网址| 国产成人精品综合久久久| 69av视频在线播放| 久久国产加勒比精品无码| 亚洲欧洲国产伦综合| 日韩精品中文字幕视频在线| 久久精品久久久久电影| 91chinesevideo永久地址| 精品久久久久久久久久久久久久| 97超碰蝌蚪网人人做人人爽| 国产一区二区三区久久精品| 亚洲精品狠狠操| 亚洲精品v欧美精品v日韩精品| 欧美日韩国产成人在线观看| 6080yy精品一区二区三区| 精品国产91乱高清在线观看| 一区二区三区回区在观看免费视频| 亚洲福利在线看| 亚洲成人精品视频| 日本亚洲欧美三级| 亚洲成人久久网| 国产精品中文字幕在线| 日韩精品在线视频观看| 国内精品久久久久影院优| 久久久久久久国产| 97视频在线观看免费| 欧美日韩一区二区三区| 欧美性猛交xxxx富婆弯腰| 中文字幕成人精品久久不卡| 中文字幕国产亚洲2019| 欧美激情精品久久久久久大尺度| 国产亚洲精品综合一区91| 亚洲激情中文字幕| 中文字幕亚洲一区二区三区五十路| 亚洲一区免费网站| 精品久久久久久久久久久久久久| 青青a在线精品免费观看| 亚洲免费成人av电影| 色婷婷久久av| 国产精品美腿一区在线看| 日本久久亚洲电影| 成人激情视频网| 欧美最猛性xxxxx(亚洲精品)| 日韩av电影中文字幕| 欧美性在线视频| 欧美一级片久久久久久久| 美女精品久久久| 97视频在线观看免费高清完整版在线观看| 亚洲一区中文字幕在线观看| 国产成人在线一区二区| 亚洲人成电影在线播放| 狠狠色噜噜狠狠狠狠97| 亚洲色图欧美制服丝袜另类第一页| 麻豆国产精品va在线观看不卡| 国产精品电影网| 久久综合九色九九| 亚洲影视中文字幕| 色综久久综合桃花网| 欧美性猛交xxxx免费看漫画| 成人国产精品久久久久久亚洲| 久久久噜噜噜久久| 亚洲人成网站777色婷婷| 91色精品视频在线| 国外成人在线直播| 深夜福利国产精品| 欧美日韩福利在线观看| 成人精品久久av网站| 日韩中文字幕在线观看| 精品一区二区三区四区| 日韩中文字幕免费| 日韩美女毛茸茸| 欧美视频裸体精品| 中文字幕av一区二区三区谷原希美| 国产成人高潮免费观看精品| 国产精品久久在线观看| www国产精品com| 亚洲成人精品在线| 午夜精品久久久99热福利| 亚洲高清不卡av| 国产精品综合不卡av| 国内精品久久久久久中文字幕| 成人h视频在线观看播放| 国产精品视频久久| 久久久久久久久国产精品| 亚洲精品www久久久久久广东| 日韩免费av一区二区| 92福利视频午夜1000合集在线观看| 国产婷婷97碰碰久久人人蜜臀| 亚洲乱码国产乱码精品精天堂| 日韩在线观看视频免费| 国产www精品| 色香阁99久久精品久久久| 亚洲一区二区三区毛片| 久久精品夜夜夜夜夜久久| 久久免费少妇高潮久久精品99| 亚洲精品www久久久久久广东| 国产精品一区二区电影| 欧美大片在线影院| 久久精品亚洲94久久精品| 韩剧1988在线观看免费完整版| 欧美一级电影免费在线观看| 成人精品一区二区三区电影免费| 久久精品最新地址| 欧美日韩国产精品专区| 国产精品美女无圣光视频| 欧美黄色片视频| 亚洲另类激情图| 欧美日韩免费区域视频在线观看| 91人人爽人人爽人人精88v| 欧美激情第99页| 国产日韩av在线| 欧美丝袜美女中出在线| 欧美成人午夜免费视在线看片| 日韩视频一区在线| 97在线免费观看视频| 亚洲第一区在线观看| 精品国产欧美一区二区三区成人| 国产97在线播放| 日韩成人在线视频网站| 久久色精品视频| 国产综合福利在线| 亚洲精品之草原avav久久| 国产精品 欧美在线| 国产美女久久精品香蕉69| 日韩欧美有码在线| 91亚洲精品在线| 国产亚洲一区二区精品| 成人国产在线视频| 国产精品视频地址| 正在播放欧美一区| 国产99视频在线观看| 国产精品久久久久久久久影视| 亚洲欧美中文日韩在线v日本| 久久精品国产69国产精品亚洲| 日韩在线高清视频| 亚洲图片欧洲图片av| 国产精品久久久|