栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

同步块/代码Java上的线程访问

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

同步块/代码Java上的线程访问

1:线程B将等待,直到线程A释放对同步对象的锁定之后,线程A将释放对同步对象的锁定并执行代码。

2:

Singleton.class
是对象,代表那个类。您正在对其进行同步,因为
_instance
-object为空。

public synchronized void method1(){...}

在对象上进行同步,在您调用该方法时,这意味着,如果您这样调用它,则2个线程将彼此等待:

final A a = new A();new Thread(new Runnable(){    public void run(){        a.method1();    }}).start();a.method1();

但是如果您在不同的Objects上调用,则两个线程将并行执行:

A a = new A();final A b = new A();new Thread(new Runnable(){    public void run(){        b.method1();    }}).start();a.method1();

最后一个问题:对,线程B将不会进入方法2,因为同步方法锁定在对象上

顺便说一句。

public synchronized void method1(){...}

等效于:

public void method1(){    synchronized(this){        ...    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号