`
tou3921
  • 浏览: 68020 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

线程进入一个对象的一个 synchronized 方法后

阅读更多
java面试题 写道
64 、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法 ?
答: 不能,一个对象的一个synchronized方法只能由一个线程访问。

 关于这个问题的准确性,或者不同的情况网上有人做过测试。

个人觉得应该这么回答:

my answer 写道
1.咬文嚼字->“进入对象的synchronized 方法”->说明这个同步方法不是static的。
2.synchronized等价与synchronized(this),受保护的方法或代码块不是自身在保护而是一个锁(在这里,这个锁就是对象本身),锁不仅仅可以保护这一个synchronized 方法。在这里的情况:线程进入方法后拥有了这个锁,就是阻塞了其他线程访问 锁所保护全部方法(代码块)。
所以答案是:可以访问其他非synchronized方法,而不能访问这个对象的synchronized 方法

 应该对吧?欢迎指正

分享到:
评论

相关推荐

    多线程,高并发.pdf

    4. 当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法? 5. 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同? 6. 概括的解释下线程的几种可用状态。

    多线程,高并发1

    3. 同步和异步有何异同,在什么情况下分别使用他们 4. 当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其 5. 简

    java笔试题大集合及答案(另附各大公司笔试题)

    64、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 答:不能,一个对象的一个synchronized方法只能由一个线程访问。 65、请说出你所知道的线程同步的方法。 答:wait():使...

    lock锁,lock锁和synchronized的对比

    一种显式定义同步锁对象来实现锁,提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock锁。 # synchronized锁与lock锁的对比 Lock是显式锁,需要手动的开启和...

    Lock接口与synchronized关键字

    当线程进入synchronized修饰的方法或代码块时,会自动获取锁,并在退出时自动释放锁。而Lock接口则是一个更底层的同步机制,它提供了更丰富的功能,但需要显式地获取和释放锁,通常通过实现类如ReentrantLock来使用...

    该仓库为Java进阶部分课堂同步代码.rar

    执行monitorenter指令时,线程会为锁对象关联一个ObjectMonitor对象(c++)。线程遇到synchronized同步时,先会进入ObjectMonitor对象的EntryList队列中,然后尝试把ObjectMonitor对象的owner变量设置为当前线程,同时...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    java面试题(线程和JSP及EJB部分).pdf

    1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runnable 接口 用synchronized 关键字修饰同步方法 反对...

    java线程学习笔记

    一 基本知识 2 1.1 任务Runnable 2 1.2 线程构造器Threat 2 1.3 执行器Executor 2 1.4 任务中返回值Callable接口 3 1.5 休眠 6 1.6 让步 6 1.7 优先级 6 1.8 后台线程(daemon) 6 1.9 加入线程(join) 8 1.10 捕获...

    计算机等级考试二级java经典例题

    有时,某个线程进入"synchronized"块后,共享数据的状态并不一定满足线程的需要,它要等待其他线程将共享数据改变为它需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,...

    java 面试题 总结

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload...

    JAVA面试题最全集

    写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...

    java面试题及答案.doc

    30. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 31. 编程题: 写一个Singleton的示例。 32. 数组有没有length()这个方法? String有没有length()这个方法? 33、排除...

    变态级JAVA程序员面试32问

     第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?  第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被...

    jstack生成的Thread Dump日志.docx

    只有当别的线程在该对象上调用了 notify()或者notifyAll()方法,"Wait Set"队列中的线程才得到机会去竞争,但是只有一个线程获得对象的Monitor,恢复到运行态。"Wait Set"中的线程在Thread Dump中显示的状态为 in ...

    net学习笔记及其他代码应用

    1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。...47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可...

    java面试宝典

    72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket通信...

    千方百计笔试题大全

    72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket...

    java面试题

    当一个线程进入一个对象的synchronized方法后,其他线程是否可进入此对象的其他方法? 答:其他方法前是否加了synchronized关键字,如果没加则能。 说出servlet生命周期? 答:servlet实例化时调用init方法,得到...

    java面试宝典2012版.pdf

    52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 53、线程的基本概念、线程的基本状态以及状态之间的关系 54、简述synchronized和java.util.concurrent.locks.Lock的...

Global site tag (gtag.js) - Google Analytics