小笔记:Timer定时间隔时间操作,后面有时间再补充和完善:

public class TimingSvc
{
/// <summary>
/// 定时器,执行定时任务
/// </summary>
private static Timer m_Timer;
static ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim();
private static int FlushTimeOut = 5000;
private TimingSvc()
{
//初始化操作
TimeSpan timeSpan = new TimeSpan();
DateTime nextTime = DateTime.Now.AddMilliseconds();
timeSpan = nextTime.Subtract(DateTime.Now);
m_Timer = new Timer(new TimerCallback(OnTimedEvent), null, (long)timeSpan.TotalMilliseconds, Timeout.Infinite);
} public void Close()
{
m_log.LogEvent("定时任务停止.");
m_Timer.Dispose();
} /// <summary>
/// 定时任务的执行
/// </summary>
protected void OnTimedEvent(object state)
{
//LogEvent("********开始执行定时任务********");
//开始执行,无限等待
m_Timer.Change(Timeout.Infinite, Timeout.Infinite); //执行任务逻辑,刷新数据
//TODO //下次间隔20s执行
DateTime nextTime = DateTime.Now.AddMilliseconds();
TimeSpan timeSpan = nextTime.Subtract(DateTime.Now);
m_Timer.Change((long)timeSpan.TotalMilliseconds, Timeout.Infinite);
return;
} public void DoOperation()
{
//写入加锁
if (rwLock.TryEnterWriteLock(FlushTimeOut))
{
try
{
//TODO BLL
}
catch (Exception ex)
{
LogError("赋值异常:" + ex.Message);
}
finally
{
rwLock.ExitWriteLock();
}
}
return;
}
}

待完善。。。。。。

小笔记:Timer定时间隔时间操作的更多相关文章

  1. Python3.x:简单时间调度Timer(间隔时间执行)

    Python3.x:简单时间调度Timer(间隔时间执行) threading模块中的Timer能够帮助实现定时任务,而且是非阻塞的: 代码: import threading import time ...

  2. python3笔记二十一:时间操作datetime和calendar

    一:学习内容 datetime calendar 二:datetime 1.模块说明:可以理解为datetime基于time进行了封装,提供了各种使用的函数,datetime模块的接口更直接,更容易调 ...

  3. python3笔记二十:时间操作time

    一:学习内容 time时间戳 time元组 time字符串 time时间转换图解 二:time 需要引入:import time 1.概念 UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中 ...

  4. [Xcode 实际操作]八、网络与多线程-(20)时间控件Timer定时功能

    目录:[Swift]Xcode实际操作 本文将演示时间控件Timer定时功能的使用. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit cl ...

  5. Java学习笔记 -- Java定时调度工具Timer类

    1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Ja ...

  6. Python笔记:threading(多线程操作)

    Python的线程操作在旧版本中使用的是thread模块,在Python27和Python3中引入了threading模块,同时thread模块在Python3中改名为_thread模块,thread ...

  7. c# 定时启动一个操作、任务

    // 定时启动一个操作.任务 using System; using System.Collections.Generic; using System.Collections.ObjectModel; ...

  8. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作

    2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...

  9. JS 学习笔记--6---日期和时间

    在日期和时间这一块的学习中发现,其实和其他大部分的高级语言中时间和日期的操作差不多,没什么特别的,但是要注意的就是 ECMAScript中规定的一些方法在各大浏览器中的实现方式是不一样的,也就是说存在 ...

随机推荐

  1. XML中文乱码问题

    XML中文乱码问题  

  2. jQuery:下拉列表的联动

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  3. Robots.txt - 禁止爬虫

    robots.txt用于禁止网络爬虫访问网站指定目录.robots.txt的格式采用面向行的语法:空行.注释行(以#打头).规则行.规则行的格式为:Field: value.常见的规则行:User-A ...

  4. hibernate.dialect是干嘛用的?

    dialect[ˈdaɪəlekt]就是“方言”,因为hibernate是要把Java对象转换成关系数据库来描述的,而关系数据库虽然有一些统一的标准,如SQL-92等,但是实际上各数据库如Oracle ...

  5. UML图学习之二 类图

    类图(ClassDiagrams)是根据系统中的类以及各类之间的关系描述系统的静态视图.类图不仅显示系统内信息的结构,还描述系统内这些信息的行为.类图的一个重要目的是为其他图(如顺序图.交互图)定义一 ...

  6. ajax和跨域

    一.简介 ajax是什么? AJAX(Asynchronous JavaScript and XML) 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX, (异步的JavaSc ...

  7. 输入和输出--java序列化机制

    对象的序列化 什么是Java对象的序列化? 对象序列化的目标是将对象保存到磁盘上,或允许在网络中直接传输对象.对象序列化机制允许把内存中的Java对象转换成与平台无关的二进制流,从而保存或者传输.其他 ...

  8. android Fragment的数据传递

    Bundle传递参数 Fragment1 fragment1 = new Fragment1();Bundle bundle = new Bundle();bundle.putString(" ...

  9. 理解Object.defineProperty的作用

    对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的值.定义对象可以使用构造函数或字面量的形式: var obj = new Object; //obj = {} obj.name = ...

  10. Git的基本原理与常用命令[二]

    标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git 的四个区域 四种状态 常用命令 git add #加入暂存(索引区) git ...