多条线程抢夺同一资源时,经常需要加锁,保证同一时间只能有一条线程操作一个资源。 同步锁就是互斥锁 格式:@synchronized (token) { } token:锁对象,要使用全局的对象,建议使用self {} 要加锁的代码段 注意点:加多把锁是无效的。 要注意加锁的位置。 互斥锁的优点: 能 ...
分类:
编程语言 时间:
2019-02-16 00:00:31
阅读次数:
279
目录 1.线程安全的主要原因 2.互斥锁的特性 3.锁的类别 4.类锁和对象锁的总结 七、synchronized 1.线程安全的主要原因 2.互斥锁的特性 Java中synchronized锁的不是代码,而是对象 3.锁的类别 (1)获取对象锁 (2)获取类锁 4.类锁和对象锁的总结 ...
分类:
编程语言 时间:
2019-02-11 20:11:13
阅读次数:
206
一. 文件 1. 操作文件的函数/方法 1) open打开文件 open默认只读模式 当要修改,调用write方法时,可以传入访问方式 f=open(“文件名”,“访问方式”) 2) read将文件内容读取到内存 第一次读取之后,文件指针到了文件末尾,再次调用不会读取到任何的内容 3) write将 ...
分类:
编程语言 时间:
2019-02-08 17:12:35
阅读次数:
153
一、守护进程 二、互斥锁 三、抢票 四、进程间通讯 五、进程间通讯2 一、守护进程 二、互斥锁 三、抢票 四、进程间通讯 五、进程间通讯2 小结: 1.守护进程 ** a守护b b如果死了 a也就跟着死了 2.互斥锁 ****** 为什么使用锁? 当多个进程对统一资源进行读写时 引发了数据错乱 解决 ...
分类:
编程语言 时间:
2019-02-04 10:22:38
阅读次数:
167
1 互斥锁lock(基于Monitor实现) 定义: private static readonly object Lock = new object(); 使用: lock (Lock) { //todo } 作用:将会锁住代码块的内容,并阻止其他线程进入该代码块,直到该代码块运行完成,释放该锁。 ...
from threading import Thread,Lock from time import sleep class Task1(Thread): """y';]lopppdocstring for Task1""" def run(self): while 1: if lock1.acqu... ...
分类:
编程语言 时间:
2019-01-31 13:08:26
阅读次数:
179
目录 4.2.1 相关概念 4.2.1.1 进程 4.2.1.2 同步/异步 4.2.1.3 阻塞/非阻塞 4.2.1.4 并发/并行 4.2.1.5 进程状态与调度 4.2.2 多进程 4.2.1.1 创建进程 4.2.1.2 相关属性 4.2.1.1 相关方法 4.2.3 进程互斥锁 4.2.4 ...
分类:
系统相关 时间:
2019-01-31 01:35:31
阅读次数:
188
1、TCP服务器 2、UDP服务器 3、http服务器 4、websocket服务器 4.1 服务端 4.2 客户端JS 5、定时器 6、异步tcp服务器处理任务 7、单独进程 8、队列读写 9、内存锁—互斥锁 10、异步读取 11、异步写入 ...
分类:
其他好文 时间:
2019-01-30 16:10:44
阅读次数:
161
互斥锁:模拟购票系统(join 可以实现串行运行程序,但是join的操作不够灵活) 数据文件 'db.json' 的格式为 {“count”: 1,...} ...
分类:
系统相关 时间:
2019-01-29 15:01:26
阅读次数:
204
原子操作:原子操作的特点;sync/atomic包;原子操作的减法;比较并交换CAS;适用场景。原子变量:原子值的复制;原子值储值的规则;使用建议和最佳实践;存储引用类型。总结:原子操作、互斥锁、原子值的选择。
分类:
其他好文 时间:
2019-01-28 00:36:17
阅读次数:
207