Java-并发性能方法与块级同步

时间:2019-02-01 19:37:08

标签: java performance concurrency synchronization locking

我是多线程新手,想测试方法与块级同步的性能(期望块级同步具有更好的性能)。

我的方法级别同步

 public synchronized void deposit (double amount) {

    //random calculations to put more load on cpu
    int k=0;
    for(int i=0; i<5 ;i++){
        k=(k+i)*10000;
    }
    this.balance = this.balance + amount;
}

vs我的块级同步

 public void deposit (double amount) {

    //random calculations to put more load on cpu
    int k=0;
    for(int i=0; i<5 ;i++){
        k=(k+i)*10000;
    }
    synchronized (this) {
        this.balance = this.balance + amount;
    }
}

我原本以为块级同步的性能会更快,但实际上会更慢。在几次运行中,性能是相同的,但总体而言,它比方法级同步慢了0.2秒。

为什么变慢?

0 个答案:

没有答案