悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。 传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 Java中synchronized和ReentrantL ...
分类:
其他好文 时间:
2018-10-21 14:19:53
阅读次数:
213
产生这种情况的原因: 1、当中断发生时,出现了调度做法, 2、另一个是spin_lock 里调用sleep, 让出调度, 另外线程又进行spin_lock, 导致死锁。 相关问题的链接 1、为什么在中断上下文中不能休眠? https://blog.csdn.net/wzw88486969/artic ...
分类:
其他好文 时间:
2018-10-17 14:49:41
阅读次数:
176
线程安全性定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的线程安全性主要体现在三个方面:原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行操作可见性:一个线程对主内存的修改可以及时的被其他线程观察到有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排
分类:
编程语言 时间:
2018-10-16 17:45:33
阅读次数:
168
事务 : 所谓事务就是: 一个流程的全部步骤要么全部成功, 要么全部失败. 实例 : 银行转账 事务失败会出现事务回滚: 即如果一个流程内的某一个步骤出现了错误, 出现错误之前的步骤会执行成功, 但出现错误后会回滚, 使所有步骤全部失败. Cookie : Cookie由来 : 因为HTTP是无状态 ...
分类:
其他好文 时间:
2018-10-13 18:42:13
阅读次数:
213
1. 什么是线程?2. 什么是线程安全和线程不安全?3. 什么是自旋锁?4. 什么是Java内存模型?5. 什么是CAS?6. 什么是乐观锁和悲观锁?7. 什么是AQS?8. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?9. 什么是Exe ...
分类:
编程语言 时间:
2018-10-13 10:24:18
阅读次数:
152
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性 ...
分类:
数据库 时间:
2018-10-08 11:23:58
阅读次数:
196
A. Thickest Burger B. Relative atomic mass C. Recursive sequence D. Winning an Auction E. Counting Cliques F. Similar Rotations G. Do not pour out H. ...
分类:
其他好文 时间:
2018-10-05 21:05:48
阅读次数:
185
Reference: https://www.projectatomic.io/blog/2015/07/what are docker none none images/ 这条命令会自动清除无用的none镜像。 ...
分类:
其他好文 时间:
2018-10-02 22:10:59
阅读次数:
182
上篇文章 "paxos与一致性" 说到zab是在paxos的基础上做了重要的改造,解决了一系列的问题,这一篇我们就来说下这个zab。 zab协议的全称是ZooKeeper Atomic Broadcast即zookeeper“原子”“广播”协议。它规定了两种模式:崩溃恢复和消息广播 恢复模式 什么时 ...
分类:
其他好文 时间:
2018-09-29 21:29:42
阅读次数:
195
Java中有那么一些类,是以Atomic开头的。这一系列的类我们称之为原子操作类。以最简单的类AtomicInteger为例。它相当于一个int变量,我们执行Int的 i++ 的时候并不是一个原子操作。而使用AtomicInteger的incrementAndGet却能保证原子操作。具体的类如下: ...
分类:
编程语言 时间:
2018-09-28 12:45:42
阅读次数:
221