在处理业务代码时,总会遇到多线程对同一资源竞争,此时对已经抢到资源的线程做Lock。 这里暂时先不考虑 是否是公平锁,是否可以重入的情况。 给出实现代码,key为加锁的维度。 ...
分类:
其他好文 时间:
2018-07-11 19:39:42
阅读次数:
149
多线程糗事百科案例 案例要求参考上一个糗事百科单进程案例 Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节。因为python原生的list,dict等,都是n ...
分类:
编程语言 时间:
2018-07-11 00:56:24
阅读次数:
171
python 中给文件加锁——fcntl模块import fcntl打开一个文件##当前目录下test文件要先存在,如果不存在会报错。或者以写的方式打开f = open('./test')对该文件加密:fcntl.flock(f,fcntl.LOCK_EX)这样就对文件test加锁了,如果有其他进程 ...
分类:
编程语言 时间:
2018-07-09 15:20:39
阅读次数:
122
使用: Swoole 内存表优点: 速度快,单线程每秒可读写100万次。8核机器8线程可以支持每秒并发读写400万次 不占用IO资源 无需加锁,swoole_table内置行锁自选锁,所有操作均是多线程/多进程安全。用户层完全不需要考虑数据同步问题 使用场景: 可以用于解决多进程之间数据共享问题 * ...
分类:
其他好文 时间:
2018-07-08 10:41:46
阅读次数:
340
锁定系统关键文件1.密码、账号文件 chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/inittab 加锁:chattr +i /etc/passwd 文件不能删除,不能更改,不能移动 查看加锁: lsattr /etc/p... ...
分类:
系统相关 时间:
2018-07-07 20:52:34
阅读次数:
214
MBR 查看操作系统信息 看启动级别 runlevel linux系统的启动顺序 GRUB加锁、bois加锁 没有绝对安全 ...
分类:
系统相关 时间:
2018-07-07 12:33:16
阅读次数:
162
cas机制 cas和synchronized 区别,场景,有缺点 cas底层实现、ABA问题场景、解决办法 场景:公共内存值v=10,线程a,b分别对10进行5次++操作,最后结果20。 问题如果不加锁,a得到内存值10在进行++操作时,b也获得内存值10进行++操作。 此时就会出现结果 cas三个 ...
分类:
其他好文 时间:
2018-07-05 21:33:40
阅读次数:
124
①引言 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先 ...
分类:
编程语言 时间:
2018-07-05 18:21:56
阅读次数:
149
一问题 需求是异步给 IM 发送link消息,所以有一张消息表,每次查询发送失败的数据,并对这些行数据加锁,(避免别的线程再次查询出来发送消息) 经过分析,发现原来是查出来发送失败的数据时候加锁失败,研究发现,原来 for update锁表必须开启事务,在begin与commit之间才生效。 二总结 ...
分类:
数据库 时间:
2018-07-04 22:48:55
阅读次数:
189
Runstats:收集统计信息,为DB2优化器提供最佳路径选择。runstats命令只能针对单表执行。命令格式:db2 runstats on table schema.tabnamerunstats选项默认为allow write access,DB2在runstats的表上加IN锁,可以读取和修 ...
分类:
其他好文 时间:
2018-07-02 20:18:25
阅读次数:
156