1、同步类容器都是线程安全的,在某些场景下需要加锁来保护复合操作。2、常见的复合操作有:迭代(反复访问元素,遍历容器中所有元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算等。3、在这些复合操作下,进行并发的修改(add或remove)容器时,会抛出java.util.ConcurrentModificationException异常。在早期的迭代器设计的时候并没有考虑并发修改的
分类:
其他好文 时间:
2018-10-31 16:59:32
阅读次数:
156
1 synchronized取得的锁都是对象锁,而不是把一段代码或方法加锁。 synchronized是给该方法的实例对象加锁。如果多个线程访问的是同一个对象 的synchronized方法,就可以同步。 2 对象中的非synchronized类型的方法是不需要等待锁的。 3 不同的synchron ...
分类:
其他好文 时间:
2018-10-29 22:10:40
阅读次数:
211
转自:https://www.cnblogs.com/skywang12345/p/3479202.html (含部分修改) 概要 本章,会对synchronized关键字进行介绍。涉及到的内容包括: synchronized原理 synchronized基本规则 synchronized方法 和 ...
分类:
编程语言 时间:
2018-10-28 11:54:36
阅读次数:
151
一、多线程的调用 threading 模块建立在thread 模块之上。thread模块以低级、原始的方式来处理和控制线程,而threading 模块通过对thread进行二次封装, 提供了更方便的api来处理线程。 多线程的调用有两种方式,函数式和继承式。 二、 阻塞线程和守护线程 join(): ...
分类:
编程语言 时间:
2018-10-27 21:10:53
阅读次数:
142
一、资源共享 多个线程内部有自己的数据栈,数据不共享;全局变量在多个线程之间是共享的。 1 # 线程数据共享不安全加锁 2 3 import time 4 from threading import Thread, Lock 5 6 7 num = 100 8 9 def func(t_lock): ...
分类:
编程语言 时间:
2018-10-26 20:32:15
阅读次数:
169
MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。根据当前的数据更新语句(UPDATE user set name='11111' where account='1'),该条件字段acc ...
分类:
数据库 时间:
2018-10-26 13:15:20
阅读次数:
250
(1)锁:进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理。 虽然使用加锁的形式实现了顺序的执行,但是程序又重新变成串行了,这样确实会浪费了时间,却保证了数据的安全。 (Lock) im ...
分类:
编程语言 时间:
2018-10-24 17:52:05
阅读次数:
302
1.Thread中sleep方法作用是使当前线程等待,其他线程开始执行,如果有线程锁,sleep不会让出锁 没有加锁代码如下: 结果如下: t10:::run:::202t12:::run:::202t11:::run:::202t13:::run:::203t15:::run:::205t14:: ...
分类:
编程语言 时间:
2018-10-24 15:41:34
阅读次数:
147
事物中的锁简单说就是S共享锁,X排它锁 X锁在所有事物中,一旦加上,持续到COMMIT才释放 未提交读 (READ UNCOMMITTED):读取时候不会加共享锁,直接读取 已提交读(READ COMMITTED):读取时候加S锁,读完立马释放S锁,会在事物完成前就立马释放S锁 可重复读(REPEA ...
分类:
数据库 时间:
2018-10-23 00:08:53
阅读次数:
200
##线程锁应用importtime,threadingpython中自己加锁了所以用不着!defrun(n):lock.acquire()#获取一把锁globalnumnum+=1lock.release()#释放锁lock=threading.Lock()num=0loot=[]#创建一个空列表(存线程实例)foriinrange(50):t=threading.Thread(target=ru
分类:
编程语言 时间:
2018-10-22 22:47:54
阅读次数:
305