QuartZ的线程锁
heoo
2024-08-27 05:53:34
原文
;
{
{
{
}
_isRunning = }
{
Logger.InfoFormat( Thread.Sleep();
_visitCount++;
Logger.InfoFormat( {
Logger.ErrorFormat( }
{
{
_isRunning = }
}
}
}
}
2. {
;
{
{
Logger.InfoFormat( Thread.Sleep();
_visitCount++;
Logger.InfoFormat( }
{
Logger.ErrorFormat( }
}
}
}
测试结果如下:
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
- NSLock线程锁的使用测试
测试1:NSLock线程锁是不是单例? 打印: 结论1:NSLock不是单例 测试2:同一个线程锁在不同的地方锁定,是否会有锁定两个? 打印为: 结论2:顺序打印,在不同的地方锁定也可以锁定. 测试3 ...
- day9---多线程,线程锁,队列
进程.线程 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 使用threading模块实现多线程编程[综述] Pyt ...
- python线程锁
import time,threading balance = 0 lock = threading.Lock() def change_it(n): global balance balance = ...
- linux下使用线程锁互斥访问资源
linux使用线程锁访问互斥资源: 1.线程锁的创建 pthread_mutex_t g_Mutex; 2.完整代码如下 #include <stdio.h> #include <s ...
- JAVA线程锁-读写锁
JAVA线程锁,除Lock的传统锁,又有两种特殊锁,叫读写锁ReadWriteLock 其中多个读锁不互斥,读锁和写锁互斥,写锁和写锁互斥 例子: /** * java线程锁分为读写锁 ReadWri ...
- Java线程锁一个简单Lock
/** * @author * * Lock 是java.util.concurrent.locks下提供的java线程锁,作用跟synchronized类似, * 单是比它更加面向对象,两个线程执行 ...
- python_way ,day11 线程,怎么写一个多线程?,队列,生产者消费者模型,线程锁,缓存(memcache,redis)
python11 1.多线程原理 2.怎么写一个多线程? 3.队列 4.生产者消费者模型 5.线程锁 6.缓存 memcache redis 多线程原理 def f1(arg) print(arg) ...
- Linux同步机制(一) - 线程锁
1 互斥锁 在线程实际运行过程中,我们经常需要多个线程保持同步. 这时可以用互斥锁来完成任务.互斥锁的使用过程中,主要有 pthread_mutex_init pthread_mutex_destor ...
- 单例模式——使用GCD实现单例模式 & 非ARC单例模式 &使用GCD和线程锁实现单例模式-b
1.单利模式概述 链接: iOS开发懒汉模式&恶寒模式 2.使用GCD实现单利模式 2.1新建一个project,然后新建一个HMDataTool类展示GCD实现单例模式 #import & ...
随机推荐
- Spring源码分析心得-Bean的读取和注册
Spring广泛的被使用足以证明它的价值,成功的东西自然值得我们深入学习.有很多人说的熟悉Spring也只是简单的使用经验,当我发现我也是其中一员时我很恐惧,所以开始扒源码,准备深入了解,话不多说,直 ...
- netbeans for php常用快捷键
文本编辑 复制当前行到上一行/下一行ctl+shf+up 移动当前行到上一行/下一行shf+alt+left/right/down/up 删除当前行ctl+E 生成下一行shf+enter(回车) 大 ...
- nginx的location root 指令
原文:http://blog.csdn.net/bjash/article/details/8596538 location /img/ { alias /var/www/image/; } #若按照 ...
- OpenGL的glViewport视口变换函数详解[转]
调用glViewPort函数来决定视见区域,告诉OpenGL应把渲染之后的图形绘制在窗体的哪个部位.当视见区域是整个窗体时,OpenGL将把渲染结果绘制到整个窗口. void glViewPort(G ...
- Oracle数据库和DB2数据库分页SQL的区别举例
--------------------------ORACLE数据库分页SQL举例------------------------------------------------ SELECT * ...
- Hbase之缓存扫描加快读取速度
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...
- iOS 静态类库 打包 C,C++文件及和OC混编
iOS 静态类库 编译 C,C++ 我们都知道,OC 原生支持C, 在 创建的 OC类的 .m 里面,可以直接编写C的代码: 同样 Xcode 也支持 OC ,C++的混编,此时,我们通常把OC创建的 ...
- LocalStorage在Chrome里的实现
前段时间我们在实现CanTK-Runtime时,也曾在V8基础上模拟过浏览器的LocaleStorage功能,其实现非常简单:每个domain的数据使用的单独文件存储,因为同一时间只有一个游戏运行,所 ...
- css_兼容IE和FF的写法
CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点. 常见兼容问题: 1.DOCTYPE 影响 CSS 处理2.FF:div 设置 marg ...
- python知识总结
LIST:Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素,用[]包裹.例如 classmates = ['Michael', 'Bob', 'T ...