在 linux 环境下用 Python 进行项目开发过程中经常会遇到多个进程对同一个文件进行读写问题,而此时就要对文件进行加锁控制,在 Python 的 linux 版本下有个 fcntl 模块可以方便的对文件进行加、解锁控制。 import fcntl file_path = "/home/ubu ...
分类:
编程语言 时间:
2019-12-14 19:01:35
阅读次数:
114
一、前言#由于有些语法无法在博客园展示,推荐使用Typora解锁全套,下载地址:https://www.typora.io/推荐使用jupyter,使用方法:https://www.cnblogs.com/nickchen121/p/10722733.htmlmarkdown数学公式大全,https... ...
分类:
其他好文 时间:
2019-12-13 09:13:31
阅读次数:
85
1. 如何使用 ReentrantLock 中的 可中断锁防止死锁? 答: 在 执行语句前 加 可中断锁,此时,当被打断时,会抛出 被中断异常,这样就可以解锁。 注意:要外部中断,死锁中的线程不会自己中断 public class ReentrantLockTest { static Lock lo ...
分类:
其他好文 时间:
2019-12-10 22:37:52
阅读次数:
116
ArrayList类在多线程环境下是线程不安全的,在多线程读写情况下会抛出并发读写异常(ConcurrentModificationException): 1 import java.util.ArrayList; 2 import java.util.List; 3 import java.uti ...
分类:
编程语言 时间:
2019-12-10 22:26:07
阅读次数:
125
全局解释器锁 每个CPU在同一时间只能执行一个线程,那么其他的线程就必须等待该线程的全局解释器,,使用权消失后才能使用全局解释器,即使多个线程直接不会相互影响在同一个进程下也只有一个线程使用cpu,这样的机制称为全局解释器锁。好处:避免了大量的加锁解锁的好处。使数据更加安全,解决多线程间的数据完整性 ...
分类:
其他好文 时间:
2019-12-09 21:39:18
阅读次数:
116
路由刷机围观33696次5条评论日期:2018-11-23字体:大中小 路由刷机围观33696次5条评论日期:2018-11-23字体:大中小 此教程只针对新三路由器小白玩家,大神勿喷,非常详细。 先说一下,本人2018年11月22日新入手了个新三路由器,收到货晚上8点,由于想刷老毛子心急,一直折腾 ...
分类:
其他好文 时间:
2019-12-07 23:22:57
阅读次数:
192
在一个风和日丽的工作日,我日常打开VS,打开公司项目,打开调试,继续解决我之前存在的一个bug, 这个bug不一般,在经过连续几个星期的测试后,总结出了以下特点: 1.bug表现在交互上,最先表示为卡死状态,且复现过程为把电脑放置一段时间后,再操作界面出现的问题; 2.深入测试我们进一步发现,此bu ...
aqs实现 基于以下技术栈: 1、自旋 2、park,unpark 3、cas 有什么特点: 1、如果是单个线程的话,或者线程交替执行,那么使用的jvm来实现的,并没有动用到os层 加锁过程: 1、判断当前状态,如果锁现在的状态为0(自由状态),公平锁可能需要判断是否需要排队(hasQueuePro ...
分类:
其他好文 时间:
2019-12-06 19:15:37
阅读次数:
87
代理模式的参与者有:一个约束、一个代理者、一个被代理者、一个调用者 代理模式的实现很简单;还是那个房子,对于开门这个操作,我更换了一个远程解锁的门,那么我就可以通过这个远程连接的服务器远程解锁,这样我家里人没带钥匙,我也可以远程解锁了,而且不需要钥匙,甚至完全不需要知道锁的存在,我代码实现一下 这样 ...
分类:
其他好文 时间:
2019-12-04 01:43:53
阅读次数:
75
理论上可以用于任何元素,生效时会在元素上出现一个同大小的灰色蒙层(button元素会该表原生的disabled属性)。 /** * 当元素触发发起请求后,当发起的请求中最后一个请求的结果返回(不关心返回顺序和结果),解锁元素禁用。 * 优化:用一个pending记录所有请求,逐个判定是否返回结果。 ...
分类:
其他好文 时间:
2019-12-02 17:03:13
阅读次数:
91