为了账号安全,请及时绑定邮箱和手机立即绑定

把所有操作都放到线程中,也能运行,差别在哪里呢?

我把所有的监听端口,输入输出等操作全部放到线程中,在Server主程序中只写如下代码: system.out.println("服务器启动"); 

ServerThread st=new ServerThread(); 

st.start(); 

这样写也能运行,请问老师差别在哪里呢?

正在回答

4 回答

题主,我有两个疑问。

  1. 你说Server类负责启动线程类,那是死循环启动,还是加什么判断条件?不循环相当于单线程,无条件死循环的话试问你给JVM设定-Xmx 10240mb的话会不会能撑住24小时才报错java.lang.OutOfMemoryError?

  2. 两个ServerSocket监听同一端口的话,后监听的会报错端口占用。那死循环中启动的第二个线程会不会为抢第一个线程所占的端口而报错?

这两个问题想明白了你就知道这种假设是否可取了。

1 回复 有任何疑惑可以回复我~

耦合和代码易读性吧

0 回复 有任何疑惑可以回复我~
#!/bin/bash


0 回复 有任何疑惑可以回复我~

一样的,你这样更加方便管理,和安全性会更高!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

把所有操作都放到线程中,也能运行,差别在哪里呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号