RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 ...
分类:
其他好文 时间:
2018-04-30 22:06:53
阅读次数:
136
At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door ...
分类:
其他好文 时间:
2018-04-29 22:06:03
阅读次数:
168
原理 进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath. 当thisPath在所有子节点中最小时, 说明该进程获得了锁. 进程获得锁之后, 就可以访问共享资源了. 访问完成后, 需要将thisPath删除. 锁由新的最小的子节点获得. ...
分类:
其他好文 时间:
2018-04-28 15:48:23
阅读次数:
195
一、Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。 Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值 ...
分类:
其他好文 时间:
2018-04-26 11:57:05
阅读次数:
158
将一个用户添加到用户组中,千万不能直接用: 这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。应该用 加上 -a 选项: (FC4: usermod -G groupA,groupB,groupC user)-a 代表 append, 也就是 将自己添加到 用户组groupA ...
分类:
系统相关 时间:
2018-04-05 01:26:15
阅读次数:
166
在MFC的SDI中,使用CHtmlView::GetSource来获取网页源码,保存到本地,发现中文中的一部分乱码,有些中文正常。自己先试着转码等各种尝试,发现一无所获。网上也没有正确的解决方案。 自己跟踪CHtmlView::GetSource函数内,在ViewHtml.cpp文件的1083行处, ...
分类:
编程语言 时间:
2018-04-04 16:18:41
阅读次数:
187
滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路。 首先先看个例子。 https://www.helloweba.com/demo/2017/unlock/ 当我手动点击滑块时,改变的只是样式: 1、slide-to-unlock-hand ...
分类:
Web程序 时间:
2018-04-03 19:13:57
阅读次数:
229
与synchronized类似的,lock也能够达到同步的效果 Lock是一个接口,为了使用一个Lock对象,需要用到 Lock lock = new ReentrantLock(); lock必须调用unlock方法进行手动释放,为了保证释放的执行,往往会把unlock() 放在finally中进 ...
分类:
其他好文 时间:
2018-04-03 19:11:48
阅读次数:
127
NSOperationQueue 控制串行执行、并发执行 NSOperationQueue 创建的自定义队列同时具有串行、并发功能 这里有个关键属性 maxConcurrentOperationCount,叫做最大并发操作数。用来控制一个特定队列中可以有多少个操作同时参与并发执行。 最大并发操作数: ...
分类:
其他好文 时间:
2018-04-01 10:39:01
阅读次数:
206
以下是本篇文章的大纲 1 synchronized和lock 1.1 synchronized的局限性 1.2 Lock简介 2 AQS 3 lock()与unlock()实现原理 3.1 基础知识 3.2 内部结构 3.3 NonfairSync 3.3.1 lock() 3.3.2 unlock ...
分类:
其他好文 时间:
2018-03-27 16:34:25
阅读次数:
163