【问题标题】:Does a thread invoking, synchronized method, pre-empt another thread using same object but in a non synchronized manner?调用同步方法的线程是否使用相同对象但以非同步方式抢占另一个线程?
【发布时间】:2014-04-09 01:47:27
【问题描述】:

在 Java 中,一个线程调用同步方法是否会以非同步方式使用相同的对象抢占另一个线程?

另外,当线程调用同步方法或同步块时,线程是否明确拥有整个对象?

【问题讨论】:

标签: java multithreading synchronization


【解决方案1】:

在 Java 中,线程调用同步方法是否抢占另一个 线程使用相同的对象但以非同步方式?

不,一个线程(假设没有数据竞争/竞争条件)不知道另一个线程在同步之外做什么。

此外,当线程调用同步方法或同步时 块,线程是否明确拥有整个对象?

如果你的意思是互斥,那么它只拥有同步区域的所有权。

【讨论】:

    【解决方案2】:

    第一个问题:没有

    无法回答第二个问题,因为“拥有”的定义不明确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 2011-08-13
      • 2017-10-23
      • 1970-01-01
      相关资源
      最近更新 更多