|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,net网页编程beans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。
12.3.2摹拟收集数据发送
在实践的收集程序开辟中,因为收集通信一样平常都必要损耗工夫,以是收集通信的内容一样平常都启动专门的线程举行处置。
如许,在一个最复杂的收集程序程序中,最少就包括了两个线程:处置界面绘制和吸收用户输出的体系线程,和最少一个收集通信线程。
上面以一个复杂的摹拟程序,完成摹拟收集数据的发送功效,关于更具体的收集编程中线程的利用,能够参看后续的收集编程章节。
在该示例代码中,用户在把持台输出必要发送的内容,程序吸收到用户的输出今后,启动一个独自的线程举行收集通信,然后用户能够持续在把持台举行输出。示例代码以下所示:
packageexample2;
importjava.io.*;
/**
*摹拟收集数据发送的测试类
*/
publicclassTestNet{
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
Stringinput;
try{
//初始化输出流
br=newBufferedReader(
newInputStreamReader(System.in));
//轮回吸收输出
while(true){
System.out.println("请输出内容(quit代表加入程序):");
//读取把持台输出
input=br.readLine();
//判别是不是是停止
if(input.equals("quit")){
break;//停止程序
}
//摹拟发送
NetDemoThreadndt=newNetDemoThread(input);
}
}catch(Exceptione){
}finally{
try{
br.close();
}catch(Exceptione){}
}
}
}
packageexample2;
/**
*经由过程承继Thread类的体例摹拟收集通信线程
*/
publicclassNetDemoThreadextendsThread{
Stringdata;
publicNetDemoThread(Stringdata){
this.data=data;
start();
}
publicvoidrun(){
try{
System.out.println("入手下手发送");
Thread.sleep(10000); //摹拟收集发送的提早
System.out.println("发送完成,发送的内容是:"+data);
}catch(Exceptione){}
}
}
<p>
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|