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

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

【菜鳥求助】java 鎖 同步問題

【菜鳥求助】java 鎖 同步問題

德瑪西亞99 2018-12-06 13:57:16
程序設計大概是這樣的:我先發(fā)送報文,在接收到應答報文后,對應答報文進行檢測操作。 遇到的問題:如下,sendMsg()后,因為RecvMsg()是自動回調(diào)函數(shù),得等待RecvMsg()被調(diào)用收到應答報文后,才能checkRespMsg(),這中間需要鎖或者什么來同步一下,該怎么做? public static void main(String[] args){   sendMsg();   //這里該寫什么   checkRespMsg(); } ? public static void RecvMsg(){   //這里該寫什么 } ?
查看完整描述

9 回答

?
慕村225694

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

sendMsg()和RecvMsg()都是同步的嗎?是的話就不用加鎖吧;若不是同步的可以將返回報文放到隊列、集合中,取出報文進行校驗,個人愚見

查看完整回答
反對 回復 2018-12-16
?
侃侃爾雅

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

不要把簡單的事情弄復雜,你應該這樣子寫,就可以輕松地解決你的問題了,不要亂加什么鎖。

public static void main(String[] args){
  sendMsg();
}
public static void RecvMsg(){
   //收到數(shù)據(jù)后 
  //就檢查 收到的數(shù)據(jù)。
  checkRespMsg();
}

?

查看完整回答
反對 回復 2018-12-16
?
精慕HU

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

我之前也是這樣想的,但是checkRespMsg()需要參數(shù),RecvMsg()因為是其他人寫的jar包里的回調(diào)函數(shù),無法提供該參數(shù);不然就要用全局變量了。而我也想學習一下鎖和同步問題,就是這樣

查看完整回答
反對 回復 2018-12-16
?
忽然笑

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

@Gotogoo:如果你是C#寫的話,我可以輕松解決,無奈 我不懂java

查看完整回答
反對 回復 2018-12-16
?
大話西游666

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

RecvMsg 與main 無任何關聯(lián)。 還是加個標志吧 ?

查看完整回答
反對 回復 2018-12-16
?
哆啦的時光機

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

?這里該怎么同步啊,求大神指教

查看完整回答
反對 回復 2018-12-16
?
回首憶惘然

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

搜一下java的future

查看完整回答
反對 回復 2018-12-16
?
鳳凰求蠱

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

public static void RecvMsg(){  checkRespMsg();  } ?這樣不行?

查看完整回答
反對 回復 2018-12-16
?
千巷貓影

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

下一個發(fā)送的報文會用到前一個報文的應答,sendMsg()是for循環(huán)發(fā)送的,這樣會出現(xiàn)發(fā)了兩三個報文,才收到第一個報文的應答,而且后面發(fā)送的報文會出錯

查看完整回答
反對 回復 2018-12-16
  • 9 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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