码迷,mamicode.com
首页 >  
搜索关键字:原子操作    ( 862个结果
Java并发学习笔记(九)-原子类AtomicInteger
AtomicInteger能够保证对一个整型的操作是原子性。像i++这个操作不是原子操作,存在竞态条件,所以需要加锁,但是加锁的性能不高,如果仅仅为了对一个整数加1。我们来看下他的实现。 private volatile int value; AtomicInteger本身持有一个整型变量,所有的操作都是基于这个变量的。变量由violate修饰,这个变量是保证可见性的,具体可见另一...
分类:编程语言   时间:2015-03-27 22:24:40    阅读次数:176
Java 并发编程(三)为线程安全类中加入新的原子操作
Java 类库中包括很多实用的”基础模块“类。通常,我们应该优先选择重用这些现有的类而不是创建新的类。:重用能减少开发工作量、开发风险(由于现有类都已经通过測试)以及维护成本。有时候,某个线程安全类能支持我们须要的全部操作,但很多其它的时候,现有的类仅仅能支持大部分的操作,此时就须要在不破坏...
分类:编程语言   时间:2015-03-19 20:07:35    阅读次数:143
聊聊并发(五)原子操作的实现原理
##引言## 原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter...
分类:其他好文   时间:2015-03-19 18:48:09    阅读次数:205
ios atomic nonatomic区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 ? ? ? ??atomic ? ? ? ??设置成员变量的@property属性时,默认为atomic,提供多线程安全。 ? ? ? ??? ? ? ??在多线程...
分类:移动开发   时间:2015-03-19 10:24:25    阅读次数:145
一个高性能无锁哈希表的设计和实现
无锁哈希表(Lock-FreeHashTable)是多线程编程中的理想数据结构,但是实现以及使用都需要一定的技巧。作者对此做了一个巧妙的设计实现,在现代X86平台上能取得千万次每秒的并发查找/增加/删除操作。通过考察各种基于CAS原子操作的无锁数据结构实现,目前公认可实现无锁安全的数..
分类:其他好文   时间:2015-03-17 12:41:41    阅读次数:284
关于事务的几个概念介绍(转)
啥是事务?有一组操作组成的可靠的独立的工作单元。ACID是咋回事?A(原子性)事务的原子操作单元,对数据的修改,要么全部执行,要么全部不执行;C(一致性)在事务开始和完成时,数据必须保持一致状态,相关的数据规则必须应用于事务的修改,以保证数据的完整性,事务结束时,所有的内部数据结构必须正确;I(隔离...
分类:其他好文   时间:2015-03-13 22:21:37    阅读次数:142
Go语言atomic原子操作
atomic是最轻量级的锁,在一些场景下直接使用atomic包还是很有效的。 下面内容摘秒自《GO并发编程实战》—— 原子操作:          CAS操作的优势是,可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作。 这可以大大的减少同步对程序性能的损耗。   当然,CAS操作也有劣势。在被操作值被频繁变更的情况下,CAS操作并不那么容易成功。...
分类:编程语言   时间:2015-03-11 17:24:03    阅读次数:276
java中volatile型变量 说明
volatile变量具有两种特性:保证此变量对所有线程的可见性,注意:java里的运算不是原子操作,导致volatile变量在并发下存在不一致的问题。使用规则要求a.运算结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值。b.变量不需要与其他的状态变量共同参与不变约..
分类:编程语言   时间:2015-03-01 01:42:19    阅读次数:163
C++拾遗--多线程:原子操作解决线程冲突
C++拾遗--原子操作解决线程冲突 前言 在多线程中操作全局变量一般都会引起线程冲突,为了解决线程冲突,引入原子操作。所谓原子操作,是指不会被线程调度机制打断的操作,操作一旦开始,就得执行到结束为止。原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序是不可以被打乱,或者切割掉只执行部分。原子操作一般靠底层汇编实现。...
分类:编程语言   时间:2015-02-26 23:02:25    阅读次数:400
基于嵌入式Linux下GCC编译器__sync_sub_and_fetch_4错误的解决心得
原子操作就是不可再分的操作,在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制。在Linux系统中的GCC或者嵌入式Linux的交叉编译GCC中从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作...
分类:系统相关   时间:2015-02-21 13:14:38    阅读次数:274
862条   上一页 1 ... 71 72 73 74 75 ... 87 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!