volatile的适用场景 模式 #1:状态标志 也许实现 volatile 变量的规范使用仅仅是使用一个布尔状态标志,用于指示发生了一个重要的一次性事件,例如完成初始化或请求停机。 [java] view plain copy volatile boolean shutdownRequested; ...
分类:
其他好文 时间:
2019-03-20 00:52:27
阅读次数:
117
package main import ( "database/sql" "encoding/base64" "fmt" "log" "math/rand" "os" "runtime" "strings" "sync" "sync/atomic" "time" _ "github.com/go-s... ...
分类:
数据库 时间:
2019-03-13 10:53:39
阅读次数:
222
import java.util.concurrent.atomic.AtomicInteger; /* * 一、i++ 的原子性问题:i++ 的操作实际上分为三个步骤“读-改-写” * int i = 10; * i = i++; //10 * * int temp = i; * i = i +.... ...
分类:
其他好文 时间:
2019-03-05 14:06:23
阅读次数:
220
转自:https://www.cnblogs.com/arnoldlu/p/8335475.html 专题:Linux内存管理专题 关键词:数据异常、缺页中断、匿名页面、文件映射页面、写时复制页面、swap页面。 malloc()和mmap()等内存分配函数,在分配时只是建立了进程虚拟地址空间,并没 ...
分类:
系统相关 时间:
2019-02-28 23:04:10
阅读次数:
162
ZooKeeper并没有直接采用Paxos算法,而是采用一种被称为ZAB(ZooKeeper Atomic Broadcast)的一致性协议 ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Ma ...
分类:
编程语言 时间:
2019-02-22 19:51:05
阅读次数:
270
kmap_atomic用于高端内存映射,用于紧急的,短时间的映射,它没有使用任何锁,完全靠一个数学公式来避免混乱,它空间有限且虚拟地址固定,这意味着它映射的内存不能长期被占用而不被unmap,kmap_atomic在效率上要比kmap提升不少,然而它和kmap却不是用于同一场合的。不管怎么说,它的设 ...
分类:
其他好文 时间:
2019-02-17 10:43:37
阅读次数:
209
__autoreleasing 修饰的变量不是局部变量; 它的生命周期由autoreleasepool负责; +(Reachability*)reachabilityWithHostname:(NSString*)hostname { SCNetworkReachabilityRef ref = S ...
分类:
其他好文 时间:
2019-02-15 15:52:02
阅读次数:
183
搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计。zookeeper主要是根据ZAB协议是实现分布式系统数据一致性。 zookeeper根据ZAB协议建立了主备模型完成zo ...
分类:
其他好文 时间:
2019-02-08 21:51:44
阅读次数:
129
1. 原子操作类介绍 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章)。但是由于sy ...
分类:
编程语言 时间:
2019-02-08 19:57:15
阅读次数:
250
目录 1.ACID 2.事务并发引起的问题 3.事务隔离机制 4.为什么不直接设置为串行化事务隔离级别 六、数据库事务 1.ACID (1)原子性(Atomic) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事 ...
分类:
数据库 时间:
2019-02-08 13:12:26
阅读次数:
193