找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[ JAVA初中级开发 ] [守望者 java初中级视频]16_java原子类

2014-08-18 17:26| 发布者: zhouy | 查看: 2329 | 收藏

摘要: 内容介绍:理解java原子变量的基础知识,并通过原子类实现单变量线程安全的实例,理解原子变量的CAS原理以及运用。

1.CAS:


Synchronized上次我们学习线程的时候 知道他可以用于线程之间的同步来实现我们的线程安全.synchronized本身就是一个互斥的一个锁 ,内置锁.

Synchronized(对象){

   //具体代码

}

Synchronized:让代码块或则方法中的代码只能被一个线程执行.简单的理解就好像一道门,每次只允许一个人进去  当做完事情后   此人出去后 才让其他的人进来,其他人中也包括原来的那个人.

本质:就是悲观锁的思维.

提供乐观锁的方式:CAS

CAS:通过硬件指令的方式实现乐观锁,以及锁的非阻塞方式来实现线程之间的同步。

1)i++;  CAS之前:   a.取出I   b.i+1;      c.i=i;三步对应的是三条指令.CAS通过硬件指令让这三条指令作为一个原子操作.

2)非阻塞

3)乐观锁

 

2.CAS好处 


Synchronized 实现的方式当其中一个线程挂起的时候或则出现异常的情况 ,对其他的线程有影响.  CAS对这个进行了改进.

CAS:如何保证线程安全,我们考虑的线程安全是通过单个共享变量而言.对于复合的共享变量需要额外的同步.

Volatile变量:可以保证对变量修改可以被其他的线程立马看到.

对于线程安全而言,他保证了单个变量的可见性,

通过CAS:保证了单个共享变量的原子性,对于线程安全的有序性保证.

线程安全的三大特性都保障了,那么他就是线程安全的  对于单个共享变量而言,  

Java代表类:AtomicLong,AtomicInteger,AtomicBoolean,AtomicRefrence.

 

3.CAS内存更新

 

A:预期的内存值     B:当前的内存值   V:旧的内存值

  If(A==V){

     //共享变量的值更新为B

 }

A:就是我们执行程序后的期望的值. 

In t   i=0;     v=0;  A=0;

I++;   //多线程

1)A线程:  i,     2)B线程: i++; i=1;   A期望值会被改变,比如说变成了1

A线程   i=2;

If(A==v){

}



会员评论  

已有0参与评论

推荐阅读

[守望者   java初中级视频]22_javaNIO,AIO编程
[守望者 java初中级视频]22_javaNIO,
内容简介:本课程介绍阻塞,非阻塞,同步和异步的基本概念,介绍javaNIO,AIO
[守望者 算法视频]01_数据存储(链表与数组)
[守望者 算法视频]01_数据存储(链表与
本章重点介绍数据的在计算机的存储方式 :连续存储(数组)与链式存储,同时
[守望者   java初中级视频]00_java初中级课程学习导航
[守望者 java初中级视频]00_java初中
内容简介:全面贾少这套视频课程学习需要具备的理论基础,以及适合的学习人群
【守望者 linux项目】linux下的FTP服务器与客户端,作者 灯下野狐 ...
【守望者 linux项目】linux下的FTP服务
本项目是一个完整的FTP服务器及FTP客户端设计示例,对于需要学习网络编程项目
【守望者 游戏项目】基于cocos2d-x的跑酷游戏项目教程
【守望者 游戏项目】基于cocos2d-x的跑
Cocos2d-x跑酷游戏项目教程Cocos2d-x跑酷游戏项目教程cocos2d-x特性cocos2
【守望者 观点】智能路由和Wi-Fi探针是一对好基友
【守望者 观点】智能路由和Wi-Fi探针是
智能路由与Wifi探针可以收集用户行为,同时可以收集用户MAC地址,还可以跟踪
【守望者 linux项目】mini WEB服务器设计
【守望者 linux项目】mini WEB服务器设
以下是曾经Watchmen一个朋友学习网络编程时设计的一个简单的MiniWEB服务器。
[守望者 linux视频]01_开发工具与开发平台
[守望者 linux视频]01_开发工具与开发
本课主要介绍gcc,gdb等系列开发工具,开始编写程序之旅。要求理解Linux开发平
[守望者 算法视频]08_数据查找_hash算法
[守望者 算法视频]08_数据查找_hash算
守望者:普通逐个查找O(n),组织方式可以无序的数组或者普通链表。已经排序的
【解读】什么样性格的人会被夸性格好
【解读】什么样性格的人会被夸性格好
守望者:性格决定命令。好的性格意识着给别人面子,能接受别人装逼,而且以上

行业聚焦  面试交流  职位推荐  开发视频   技术交流  腾讯微博  新浪微博

友情链接:课课家教育  阿里云  鲜果  W3Cfuns前端网  中国企业家  环球企业家  投资界  传媒梦工场  MSN中文网  Android开发者社区  cnbeta  投资中国网  又拍云存储  美通说传播  IT茶馆  网商在线  商业评论网  TechOrange  IT时代周刊  3W创新传媒  开源中国社区  二维工坊  Iconfans  推酷  智能电视网  FreeBuf黑客与极客  财经网  DoNews  凤凰财经  新财富  eoe移动开发者社区  i黑马  网易科技  新浪科技  搜狐IT  创业家  创业邦  腾讯财经  福布斯中文网  天下网商  TechWeb  雷锋网  新浪创业  和讯科技  品途O2O  极客公园  艾瑞网  抽屉新热榜  卖家网  人民网通信频道  拉勾网  创新派  简单云主机  

手机版|黑名单|守望者在线 在线教育 linux 高级程序设计 C/C++ 大数据 ( 蜀ICP备14029946号

成都守望者科技有限公司 © 2013-2016 All Rights Reserved