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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java什么時(shí)候應(yīng)該小心不安全構(gòu)造對(duì)程序的影響

java什么時(shí)候應(yīng)該小心不安全構(gòu)造對(duì)程序的影響

搖曳的薔薇 2019-03-13 14:15:35
我知道兩個(gè)場景,就是雙重檢查鎖和對(duì)多個(gè)對(duì)象同步像這樣synchronized(player) {synchronized(field) {// code}}據(jù)說這樣都是不安全的,需要考慮不安全構(gòu)造,但是我想想,如果一個(gè)對(duì)象還沒有構(gòu)造完成就把引用丟出來,那我豈不是時(shí)時(shí)刻刻都要小心,這樣用java不對(duì)吧
查看完整描述

3 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

可是java可以重排對(duì)象引用的賦值和對(duì)象域的初始化?這對(duì)編寫正確的多線程程序太難了吧
1、私有化
2、無狀態(tài)
3、復(fù)制

你的這種情況如果是編寫應(yīng)用程序 很少會(huì)遇到的,還可以這樣 首先根據(jù)playey和field去獲取一把鎖,然后同步這把鎖,這樣實(shí)現(xiàn)起來要簡單的多

所以最好的做法是復(fù)制(如erlang、scala等的實(shí)現(xiàn)) 或者你去看下actor


查看完整回答
反對(duì) 回復(fù) 2019-04-28
?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

這個(gè)你不用擔(dān)心,構(gòu)造函數(shù)的調(diào)用是線程安全的。只要你不在構(gòu)造函數(shù)里把this拋出就沒有問題。


查看完整回答
反對(duì) 回復(fù) 2019-04-28
  • 3 回答
  • 0 關(guān)注
  • 436 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)