codecamp

同步 synchronized

举个例子

public class Synchronized Counter {
    private int c = 0;


    public synchronized void increment() {
        c++;
    }


    public synchronized void decrement() {
        c--;
    }


    public synchronized int value() {
        return c;
    }
}

如果 count 是这个类的实例化将有两个效果:

  • 不可能同时调用同一个对象的同一个方法, 防止造成冲突.同一时间只有一个线程可以调用这对象的同步方法.比如在一个账户里同时存钱和转账.

  • 当一个同步方法退出时, *它会和随后一个同步方法的调用自动建立happens-before关系. 这保证了所有线程都知道对象的状态改变了.
sleep() 和 wait() 的区别
如何实现 muliti-thread?
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Java 面试笔记

Java

多态 Polymorphism

Static 关键字

int 与 integer

Programme

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }