函数代码同步

来源:互联网 发布:mysql root免密码登录 编辑:程序博客网 时间:2024/06/05 09:48

synchronized在共享的函数前声明即可

class Bank {private int sum = 0;public synchronized void add(int n) {sum += n;System.out.println("sum=" + sum);}}class Cus implements Runnable {private Bank bank = new Bank();@Overridepublic void run() {for (int i = 0; i < 3; i++) {bank.add(100);}}}public class BankDemo {public static void main(String[] args) {Cus cu = new Cus();new Thread(cu).start();new Thread(cu).start();}}

同步函数 使用的锁其实是this 即当前对象,但是当 同步函数被static修饰时 锁不在是this 因为 静态方法中不可以定义this。静态进入内存是:内存中没有本类对象但是一定有该类对应的字节码文件 类名.class,即该对象的类型就是class
 

原创粉丝点击