博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中static方法加锁
阅读量:6360 次
发布时间:2019-06-23

本文共 784 字,大约阅读时间需要 2 分钟。

hot3.png

public class Sync {    public static void main(String[] args) throws InterruptedException {        Executors.newCachedThreadPool().submit(new Static(Loker.class));        Thread.sleep(1000);        Loker.call();    }}class Loker{    public static synchronized void call(){        System.out.println("call in");    }}class Static implements Callable{    private Object locker;    public Static(Object loker){        this.locker=loker;    }    @Override    public Object call() throws Exception {        synchronized (locker){            Thread.sleep(4000);            System.out.println("sleep end");        }        return null;    }}

可以看到结果每次都要sleep end才能call in

也就是说静态方法加锁是通过Class对象来加锁的

这样也证明了一个类只有一个Class对象,(因为synchronized是通过==来比较的)

转载于:https://my.oschina.net/u/1442901/blog/298538

你可能感兴趣的文章
pvr 批量转换
查看>>
linux命令basename使用方法
查看>>
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
2015.06.04 工作任务与心得
查看>>
icinga2使用587端口发邮件
查看>>
hpasmcli查看HP服务器内存状态
查看>>
【14】Python100例基础练习(1)
查看>>
boost bind使用指南
查看>>
使用ntpdate更新系统时间
查看>>
Android M 特性 Doze and App Standby模式详解
查看>>
IE FF(火狐) line-height兼容详解
查看>>
谷歌Pixel 3吸引三星用户, 但未动摇iPhone地位
查看>>
VUE中使用vuex,cookie,全局变量(少代码示例)
查看>>
grep -w 的解析_学习笔记
查看>>
TX Text Control文字处理教程(3)打印操作
查看>>
CENTOS 7 如何修改IP地址为静态!
查看>>