您的位置:首页 > 其它

QuartZ的线程锁

2016-06-15 16:34 337 查看
1. 自定义QuartZ的并发锁 1 using System;
2 using System.Threading;
3 using log4net;
4 using Quartz;
5
6 namespace HK.Gramma.Business
7 {
8 [DisallowConcurrentExecution]
9 public class SecondTimeJob : IJob
{
/// <summary>
/// 线程访问计数
/// </summary>
private static int _visitCount = 0;

/// <summary>
/// 日志工具
/// </summary>
private static readonly ILog Logger = LogManager.GetLogger("SecondTimeJob");

/// <summary>
/// 执行定时任务
/// </summary>
/// <param name="context">上下文</param>
public void Execute(IJobExecutionContext context)
{
try
{
Logger.InfoFormat("开始任务,线程ID={0}", Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(5000);
_visitCount++;
Logger.InfoFormat("结束任务,线程ID={0},访问总数={1}", Thread.CurrentThread.ManagedThreadId, _visitCount);
}
catch (Exception ex)
{
Logger.ErrorFormat("任务异常\r\n{0}", ex);
}
}
}
} View Code测试结果如下:

2015-09-08 20:42:30,001 [ServiceScheduler_Worker-2] INFO SecondTimeJob [(null)] - 开始任务,线程ID=4
2015-09-08 20:42:35,001 [ServiceScheduler_Worker-2] INFO SecondTimeJob [(null)] - 结束任务,线程ID=4,访问总数=1
2015-09-08 20:42:35,001 [ServiceScheduler_Worker-6] INFO SecondTimeJob [(null)] - 开始任务,线程ID=8
2015-09-08 20:42:40,002 [ServiceScheduler_Worker-6] INFO SecondTimeJob [(null)] - 结束任务,线程ID=8,访问总数=2
2015-09-08 20:42:40,002 [ServiceScheduler_Worker-9] INFO SecondTimeJob [(null)] - 开始任务,线程ID=11
2015-09-08 20:42:45,003 [ServiceScheduler_Worker-9] INFO SecondTimeJob [(null)] - 结束任务,线程ID=11,访问总数=3
2015-09-08 20:42:45,003 [ServiceScheduler_Worker-4] INFO SecondTimeJob [(null)] - 开始任务,线程ID=6
2015-09-08 20:42:50,004 [ServiceScheduler_Worker-4] INFO SecondTimeJob [(null)] - 结束任务,线程ID=6,访问总数=4
2015-09-08 20:42:50,004 [ServiceScheduler_Worker-7] INFO SecondTimeJob [(null)] - 开始任务,线程ID=9
2015-09-08 20:42:55,004 [ServiceScheduler_Worker-7] INFO SecondTimeJob [(null)] - 结束任务,线程ID=9,访问总数=5
2015-09-08 20:42:55,005 [ServiceScheduler_Worker-1] INFO SecondTimeJob [(null)] - 开始任务,线程ID=3
2015-09-08 20:43:00,006 [ServiceScheduler_Worker-1] INFO SecondTimeJob [(null)] - 结束任务,线程ID=3,访问总数=6
2015-09-08 20:43:00,007 [ServiceScheduler_Worker-5] INFO SecondTimeJob [(null)] - 开始任务,线程ID=7
2015-09-08 20:43:05,007 [ServiceScheduler_Worker-5] INFO SecondTimeJob [(null)] - 结束任务,线程ID=7,访问总数=7
2015-09-08 20:43:05,007 [ServiceScheduler_Worker-6] INFO SecondTimeJob [(null)] - 开始任务,线程ID=8
2015-09-08 20:43:10,008 [ServiceScheduler_Worker-6] INFO SecondTimeJob [(null)] - 结束任务,线程ID=8,访问总数=8
2015-09-08 20:43:10,012 [ServiceScheduler_Worker-3] INFO SecondTimeJob [(null)] - 开始任务,线程ID=5
2015-09-08 20:43:15,012 [ServiceScheduler_Worker-3] INFO SecondTimeJob [(null)] - 结束任务,线程ID=5,访问总数=9
2015-09-08 20:43:15,012 [ServiceScheduler_Worker-4] INFO SecondTimeJob [(null)] - 开始任务,线程ID=6
2015-09-08 20:43:20,013 [ServiceScheduler_Worker-4] INFO SecondTimeJob [(null)] - 结束任务,线程ID=6,访问总数=10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: