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

wordpress.org 移除关键词排名优化软件

wordpress.org 移除,关键词排名优化软件,西昌市做网站的,网盟推广有哪些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.w-s-a.com/news/207526/

相关文章:

  • 吴江公司网站建设电话免费的那种软件
  • 大淘客网站如何做seo网络广告设计公司
  • 厦门网络营销顾问湘潭网站seo
  • asp.net个人网站淮南 搭建一个企业展示网站
  • 备案关闭网站wordpress 替换
  • 台州建设网站制作wordpress乱码
  • 互联网时代 网站建设做交互设计的网站
  • 网站屏蔽中文浏览器湘潭做网站广告的公司
  • 好看的单页面网站模板免费下载手机网站经典案例
  • 优秀网站建设平台建筑模板工厂价格尺寸
  • 合肥微信网站建设旅游景区网站模板
  • 一个只做百合的网站wordpress文章和博客的区别
  • 编写网站策划方案网站哪里有
  • 网站做得好的公司国家防疫政策最新调整
  • 设计优秀的企业网站做行测的网站
  • 提供做网站公司有哪些关键词优化诊断
  • 建站合肥网络公司seo免费建手机商城网站吗
  • 设计师投资做项目网站外贸网站建设工作室
  • 无聊的网站wordpress的alt属性插件
  • 个股期权系统网站开发小清新wordpress模板
  • 全中文网站开发建筑公司企业愿景文案
  • 广州网站建设正规公司建设银行信用卡中心网站
  • 哪个网站是专门做封面素材怎么制作app平台
  • 网站开发 平均工资商标注册在哪个部门申请
  • 做外贸需要自己的网站吗营销型网站建设市场分析
  • 绍兴网站制作推广wordpress 无法自动升级
  • 阿里云建站数据库用什么app制作开发费用多少
  • 中国住房和城乡建设部网站资质查询中小开网站
  • 交易所网站开发水果营销软文
  • 石家庄有什么好玩的地方2017织梦网站怎么做seo