java synchronized静态_java数据库加锁-通过synchronized静态方法对类加的锁,影响对该类对象的? 爱问知识人...

这篇博客探讨了Java中的同步(synchronized)关键字在类方法和实例方法中的应用。示例代码展示了如何在非静态和静态方法中使用同步以确保线程安全。讨论了同步方法对于多个线程访问同一资源的重要性,以及静态方法同步的特点,即静态方法的锁是针对类的,而非对象。
摘要由CSDN通过智能技术生成

类就一个。

静态的不会出2个。

同步不2同步没啥关系。

这样理解对不对。

你都试过了。

哆啦A梦试的代码。

class DualSynch {

private Object syncObject = new Object();

public synchronized void f() {

intln("Inside f()");

// Doesn't release lock:

try {

eep(500);

} catch(InterruptedException e) {

throw new RuntimeException(e);

}

intln("Leaving f()");

}

public void g() {

synchronized(syncObject) {

intln("Inside g()");

try {

eep(500);

} catch(InterruptedException e) {

throw new RuntimeException(e);

}

intln("Leaving g()");

}

}

public synchronized static void lwy1() {

intln("Inside lwy1()");

// Doesn't release lock:

try {

eep(1000);

} catch(InterruptedException e) {

throw new RuntimeException(e);

}

intln("Leaving lwy1()");

}

public synchronized static void lwy2() {

intln("Inside lwy2()");

// Doesn't release lock:

try {

eep(1000);

} catch(InterruptedException e) {

throw new RuntimeException(e);

}

intln("Leaving lwy2()");

}

}

public class SyncObject {

//private static Test monitor = new Test();

public static void main(String[] args) throws InterruptedException {

final DualSynch ds = new DualSynch();

new Thread() {

public void run() {

ds。

f();

DualSynch。lwy1();

}

}。start();

ds。g();

synchronized(ds) {

ds。wait(10);

}

DualSynch。lwy2();

}

} ///:~

看来是要搞培训啊。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值