码迷,mamicode.com
首页 >  
搜索关键字:原子操作    ( 862个结果
秒杀多线程第四篇 一个经典的多线程同步问题
上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个问题涉及到线程的同步和互斥,是一道非常有代表性的多线程同步问题,如果能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。 程序描述: 主线程启动10个子线程并将表示子线程序 ...
分类:编程语言   时间:2018-12-08 17:56:05    阅读次数:206
多线程2-synchronize
一、线程安全问题 多线程操作各自线程创建的资源的时候,不存在线程安全问题。但多线程操作同一个资源的时候就会出现线程安全问题。下例为两个线程操作同一个name资源时发生的问题。 问题出现过程: 二、synchronized代码块 如果name赋值,打印name是一个原子操作就可以避免线程安全问题。 j ...
分类:编程语言   时间:2018-12-07 18:25:36    阅读次数:221
golang中锁mutex的实现
golang中的锁是通过CAS原子操作实现的,Mutex结构如下: type Mutex struct { state int32 sema uint32 } type Mutex struct { state int32 sema uint32 } //state表示锁当前状态,每个位都有意义,零 ...
分类:其他好文   时间:2018-12-05 02:08:59    阅读次数:181
redis pipline
使用背景 项目中需要使用单redis实例存储千万级别的数据,当时认为开多线程存储能够提高执行速度,开了10个线程不停的存储每一条数据。结果运行速度龟速,加大线程数还是无果。 redis 单线程 官方FAQ表示,因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器 ...
分类:其他好文   时间:2018-12-02 22:44:35    阅读次数:188
volatile关键字解释和使用
一、java内存模型的相关概念:原子性、可见性与有序性 原子性: 原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原 ...
分类:其他好文   时间:2018-11-29 20:11:02    阅读次数:156
MongoDB数据库的特点及命令总结
SQL: mysql,Oracle,sqlserver,db2特点及应用场景:1.高度事务性场景 > 银行,会计,仓库,贸易,需要大量的原子操作2.数据存储有规范的表结构设计,预先定义好 明确的字段3.数据价值高,对安全性和稳定性要求高4.需要持久化存储的"冷数据"(不需要经常读写的数据)5.需要通 ...
分类:数据库   时间:2018-11-20 00:05:43    阅读次数:190
深入java并发包源码(一)简介
阅读本文章前需要了解 CAS 操作是什么。 首先大致介绍一下需要讲到的几个类,只需要理解这几个类是什么关系即可,后面会有详细解析。 Unsafe :这个类提供了 native 方法,未开源,提供了线程阻塞和唤醒,原子操作等方法。 LockSupport :包装了一层 Unsafe 类,非常类似于代理 ...
分类:编程语言   时间:2018-11-16 23:36:33    阅读次数:259
Java并发(十二):CAS Unsafe Atomic
一、Unsafe Java无法直接访问底层操作系统,而是通过本地(native)方法来访问。不过尽管如此,JVM还是开了一个后门,JDK中有一个类Unsafe,它提供了硬件级别的原子操作。 这个类尽管里面的方法都是public的,但是并没有办法使用它们,JDK API文档也没有提供任何关于这个类的方 ...
分类:编程语言   时间:2018-11-16 17:41:59    阅读次数:224
concurrent包
concurrent在哪儿:jdk\jre\lib\rt.jar 本文从特性、分类、扩展方面一一道来。 1 特性 2 分类 2.1 Atomic包 包下实现了原子操作,见本作者已有博文。 原子操作核心思想是CAS(compare and swap)比较并操作,然后调用底层操作系统指令来完成。 原子操 ...
分类:其他好文   时间:2018-11-12 11:28:29    阅读次数:177
【Java多线程】AtomicLong和LongAdder
AtomicLong简要介绍 AtomicLong是作用是对长整形进行原子操作,显而易见,在java1.8中新加入了一个新的原子类LongAdder,该类也可以保证Long类型操作的原子性,相对于AtomicLong,LongAdder有着更高的性能和更好的表现,可以完全替代AtomicLong的来 ...
分类:编程语言   时间:2018-11-10 01:01:56    阅读次数:237
862条   上一页 1 ... 22 23 24 25 26 ... 87 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!