精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 這道題我搞不懂,

    這道題我搞不懂,
    20.public class SychTest{
    private int x;
    private int y;
    public void setX(int i){ x=i;}
    public void setY(int i){y=i;}
    public Synchronized void setXY(int i){
    setX(i);
    setY(i);
    }
    public Synchronized boolean check(){
    return =y;
    }
    }
    Under which conditions will check() return true when called from a different class?
    A.check() can never return true.
    B.check() can return true when setXY is callled by multiple threads.
    C.check() can return true when multiple threads call setX and setY separately.
    D.check() can only return true if SychTest is changed allow x and y to be set separately.
    英語(yǔ)人氣:315 ℃時(shí)間:2020-06-06 18:44:49
    優(yōu)質(zhì)解答
    答案是C.
    好吧,補(bǔ)充一下.
    這個(gè)setXY方法用了synchronized(線程同步),所以會(huì)防止多個(gè)線程同時(shí)訪問(wèn)這個(gè)方法.但是setX()和setY()方法沒(méi)有synchronized保護(hù),而且setX()和setY()是public公開(kāi)的,因此C提到的情況會(huì)出現(xiàn).
    A.check() can never return true.(錯(cuò),因?yàn)榭梢圆煌ㄟ^(guò)setXY()來(lái)更改x和y的值)
    B.check() can return true when setXY is callled by multiple threads.(錯(cuò),setXY()是被保護(hù)的)
    C.check() can return true when multiple threads call setX and setY separately.(正確答案.)
    D.check() can only return true if SychTest is changed allow x and y to be set separately.(錯(cuò).這個(gè)其實(shí)原則上是對(duì)的.但是這個(gè)答案用了only一詞(只有在這情況下),所以它錯(cuò)了.因?yàn)镃也是可以造成x!=y.
    我來(lái)回答
    類(lèi)似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁(yè)提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版