第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java-同步和啟動線程

Java-同步和啟動線程

www說 2021-05-12 17:13:43
我想知道,如果我創(chuàng)建一個方法synchronized然后Thread在此方法中啟動一個,其他人何時Thread才能使用該方法?synchronized void someMethod() {    //Do stuff.    new Thread(new Runnable() {        public  void run() {            //Do more stuff.        }    }).start();}也就是說,當呼叫退出時其他人Thread是否能夠訪問它,或者新創(chuàng)建的對象也必須完成?someMethodThreadsomeMethodThread
查看完整描述

3 回答

?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

當調用someMethod的線程退出時,它不會等待新線程完成。


查看完整回答
反對 回復 2021-05-26
?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

每當someMethod()釋放對象所屬實例上的監(jiān)視器時。這應該Thread.start()在您的代碼中調用后。這里沒有魔術,synchronized適用標準規(guī)則。


查看完整回答
反對 回復 2021-05-26
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

同步方法意味著只有一個線程能夠一次訪問任何方法執(zhí)行。這包括聲明和執(zhí)行一個新實例,以及示例中的新線程實例:


   new Thread(new Runnable() {

        public  void run() {

            //Do more stuff.

        }

    }).start();

接下來要觸發(fā)的線程將聲明一個新的不同實例,并且由于您尚未將以前聲明的線程存儲在任何地方,因此將無法訪問該線程。


可以進行一些修改來訪問它:


synchronized void someMethod(int id, HashMap threadsMap) {

    //Do stuff.

    threadsMap.set(id, new Thread(new Runnable() {

        public  void run() {

            //Do more stuff.

        }

    }));

threadsMap.get(id).start();

}

這將允許您通過其ID訪問每個線程


查看完整回答
反對 回復 2021-05-26
  • 3 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號