zoukankan      html  css  js  c++  java
  • [原创]利用同步语句改善并发性能

    例如,我们假定类MsLunch有两个实例字段,C1和C2,这两个变量绝对不会一起使用。所有对这两个变量的更新都需要进行同步。

    但是没有理由阻止对C1的更新和对C2的更新出现交叉-----这样做会创建不必要的阻塞,进而降低并发性能。

    此时,我们没有使用同步方法或者使用和this相关的锁,而是创建了两个单独的对象锁来提供锁。

                                public class MsLunch{

                                  private long c1 =0;

                                  private long c2=0;

                                  private Object lock1 = new Object();

                                  private Object lock2 = new Object();

                                  public void inc1(){

                                     synchronized(lock1){

                                        c1++;

                                     }

                                  }

                                  public void inc2(){

                                     synchronized(lock2){

                                        c2++;

                                     }

                                  }

                                   }

     

  • 相关阅读:
    java中的数组
    java中的break continue
    java 自加和短路问题 几个例子
    循环语句
    K-近邻算法小结
    数据结构与算法学习笔记 (三) 排序 搜索
    数据结构与算法学习笔记 (二) 栈 链表 队列 树 堆 图 并查集
    Spark数据分析技术学习笔记(一)——基础概念、RDD使用
    Python数据分析学习笔记
    Python机器学习(Sebastian著 ) 学习笔记——第六章模型评估与参数调优实战(Windows Spyder Python 3.6)
  • 原文地址:https://www.cnblogs.com/chohyee/p/7622998.html
Copyright © 2011-2022 走看看