当前位置: 首页 > news >正文

做服装外贸哪个网站好网站推广流程

做服装外贸哪个网站好,网站推广流程,咸阳网站建设,重庆市建筑工程网1、volatile的特性 可见性#xff1a;对一个volatile变量的读#xff0c;总能够看到任意一个线程对这个volatile变量的写入。 原子性#xff1a;对任意单个volatile变量的读/写具有原子性#xff0c;但类似于volatile这种复合操作不具有原子性。 接下来我们用程序验证。…1、volatile的特性 可见性对一个volatile变量的读总能够看到任意一个线程对这个volatile变量的写入。 原子性对任意单个volatile变量的读/写具有原子性但类似于volatile这种复合操作不具有原子性。 接下来我们用程序验证。 public class OldVolatileFeaturesExample {volatile long v1 0L; // 使用volatile 声明64位的long型变量//long v1 0L;public void set(long l){v1 l; //单个volatile 变量的写}public void getAndIncrement(){v1; // 多个volatile 变量的读/写}public long get(){return v1; // 单个volatile 变量的读}public static void main(String[] args) {final OldVolatileFeaturesExample volatileFeaturesExamlple new OldVolatileFeaturesExample();Thread thread0 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l volatileFeaturesExamlple.get();System.out.println(创建的l值------- l);}});thread2.start();/* for (int i 0; i 10; i) {Thread thread0 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l volatileFeaturesExamlple.get();System.out.println(创建的l值------- l);}});thread2.start();}*/}}这里线程thread0 设置使用volatile修饰的long类型变量 v1 线程thread1 进行v1操作 thread2 获取变量v1的值并打印结果。那么 v1的值是几呢 上面这段程序运行结果是 创建的l值-------2那么就算不用volatile修饰的v1变量也执行上述操作结果会是什么样子呢没错还是2。 那么使用volatile修饰的v1变量 当使用for 循环呢也就是多个volatile变量的读写操作的结果 创建的l值-------2 创建的l值-------2 创建的l值-------1 创建的l值-------1 创建的l值-------1 创建的l值-------2 创建的l值-------3 创建的l值-------1 创建的l值-------2 创建的l值-------3假设具有原子性那么v1循环加10次 1,那么它的结果应该是 10而不是上面的结果。上面的程序等价于 public class NewVolatileFeaturesExample {long v1 0L;public synchronized void set(long l){ //对单个的普通变量的写用同一个锁同步v1 l;}public void getAndIncrement(){ //普通方法调用long temp get(); //调用已同步的读方法temp 1L; //普通写操作set(temp); //调用已同步的写方法}public synchronized long get(){ // 对单个的普通变量的读用同一个锁同步return v1;}public static void main(String[] args) {final NewVolatileFeaturesExample newVolatileFeaturesExample new NewVolatileFeaturesExample();/* for (int i 0; i 10; i) {Thread thread0 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l newVolatileFeaturesExample.get();System.out.println(创建的l值------- l);}});thread2.start();}*/Thread thread0 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l newVolatileFeaturesExample.get();System.out.println(创建的l值------- l);}});thread2.start();} } 这个也就是相当于对v1变量的读和写进行了synchronized 同步锁操作。 而锁的语义决定了临界区代码的执行具有原子性。锁的happens-before 规则保证了释放锁和获取锁的两个线程之间的内存可见性。那么volatile 写和读建立的happens-before 关系是又是什么样子呢欲知后事如何请看下回分解。 更多创作在我的公众号里哦。
http://www.hkea.cn/news/14504379/

相关文章:

  • 网站策划知识廊坊市做网站的公司有哪些
  • 网站建设逻辑赛博网站建设四川
  • 深圳建设工程交易平台seo小白入门教学
  • 重庆五号线金建站python开发订阅号
  • 做网站找模板深圳公司注册地址有什么要求
  • 站长工具里查看的网站描述和关键词都不显示网站建设及运行情况介绍
  • wordpress英文企业网站模板python做软件的网站
  • 网站文章批量上传工具wordpress 模型
  • 资讯网站排版游戏行业seo整站优化
  • 国外做免费网站的培训心得体会2000字
  • 互联网网站开发网站的简介怎么在后台炒做
  • 南昌市公司网站建设旅游网站开发网站设计报告书
  • wordpress适合建什么网站怎么才能在网上卖货
  • 甘肃省建设厅网站资质升级公示网络安全公司排名2020
  • 电商网站的制作包装设计网站排行榜前十名
  • 免费注册个人网站不花钱wordpress安装主题后打不开后台
  • wordpress去水印插件seo顾问是干什么
  • 佛山大良营销网站建设seo刷关键词排名免费
  • 昆明网站服务器男女做暧昧视频网站
  • 拼多多网站开发vps amh wordpress
  • .net网站开发优点深圳创意设计网站
  • 网站策划的基本过程wordpress wp()
  • 网站建设工作策划方案小程序在线制作平台
  • 流媒体网站建设方案成全视频免费观看在线看黄
  • 南通市区有哪几家做网站的电子版简历在线制作
  • 北京 网站备案iis管理器添加网站
  • 北京网站改版多少钱济南网站建设维护公司
  • 做网站排名优化是怎么回事网站建设创业项目简介
  • 网站建设的一些名词太原网站建设方案托管
  • 旅游网站首页设计图片江门网站快速排名