寫(xiě)程序中遇到一個(gè)問(wèn)題?如下: mySoc?=?new?Socket(svrAddress,5555); myInput?=?new?ObjectInputStream(mySoc.getInputStream());//有問(wèn)題 myOutput?=?new?ObjectOutputStream(mySoc.getOutputStream());//有問(wèn)題 //myInput?=?new?DataInputStream(mySoc.getInputStream()); //myOutput?=?new?DataOutputStream(mySoc.getOutputStream());? 注銷(xiāo)的語(yǔ)句運(yùn)行可以成功 但是未注銷(xiāo)的那部分?運(yùn)行時(shí)就卡在那里了 但是卻沒(méi)有拋出異常 請(qǐng)教原因是什么?有什么問(wèn)題 該怎么解決呢?找了好久終于再網(wǎng)上找到關(guān)于這個(gè)問(wèn)題的說(shuō)明了?因?yàn)閱?wèn)題比較特殊?所以貼出來(lái)希望對(duì)大家 有幫助 主機(jī)端先建立ObjectInputStream后建立ObjectOutputStream,則對(duì)應(yīng)地客戶(hù)端要先建立 ObjectOutputStream后建立ObjectInputStream,否則會(huì)造成兩方互相等待數(shù)據(jù)而導(dǎo)致死 鎖。 原因是建立ObjectInputStream對(duì)象是需要先接收一定的header數(shù)據(jù),接收到這些數(shù)據(jù)之前 會(huì)處于阻塞狀態(tài)。故而為了防止這種死鎖狀態(tài),通訊兩方的 ObjectInputStraem,ObjectOutputStream必須注意順序?qū)?yīng)使用。 目前相應(yīng)的解決辦法還沒(méi)有找到?如果要解決?可以嘗試重載對(duì)象輸入輸出流