把所有操作都放到線程中,也能運行,差別在哪里呢?
我把所有的監(jiān)聽端口,輸入輸出等操作全部放到線程中,在Server主程序中只寫如下代碼: system.out.println("服務(wù)器啟動");?
ServerThread st=new ServerThread();?
st.start();?
這樣寫也能運行,請問老師差別在哪里呢?
我把所有的監(jiān)聽端口,輸入輸出等操作全部放到線程中,在Server主程序中只寫如下代碼: system.out.println("服務(wù)器啟動");?
ServerThread st=new ServerThread();?
st.start();?
這樣寫也能運行,請問老師差別在哪里呢?
2016-02-23
舉報
2016-07-01
題主,我有兩個疑問。
你說Server類負責(zé)啟動線程類,那是死循環(huán)啟動,還是加什么判斷條件?不循環(huán)相當(dāng)于單線程,無條件死循環(huán)的話試問你給JVM設(shè)定-Xmx 10240mb的話會不會能撐住24小時才報錯java.lang.OutOfMemoryError?
兩個ServerSocket監(jiān)聽同一端口的話,后監(jiān)聽的會報錯端口占用。那死循環(huán)中啟動的第二個線程會不會為搶第一個線程所占的端口而報錯?
這兩個問題想明白了你就知道這種假設(shè)是否可取了。
2016-05-16
耦合和代碼易讀性吧
2016-05-12
2016-02-23
一樣的,你這樣更加方便管理,和安全性會更高!