解决方案 »
- spring配置错误,大哥大姐帮忙看下
- 怎么学JAVA
- 我的eclipse为什么报这个东西
- 我的伟大想法
- 谁有 spring in action 中文版的
- IBM MQ是不是免费的?和iLink MQ比,那个好用?
- 谁有一整套CSS和图标100分相送
- 关于hibernate中的cascade的含义疑惑
- 请问用URL类连接到一个bbs网站后怎么注销呀?
- maven+ssh环境junit测试通过 启动tomcat报错 Error creating bean with name 'sessionFactory'
- Jquery插件DataTables中的TableTools导出csv和PDF中文乱码
- spring mvc中已经实现后台图片上传的功能,现在想实现隐藏图片的功能,具体应该怎么实现
这个里面涉及的知识面比较多,不只是关于一条语句的。基本的问题就是为啥Function_001里要用线程?这个线程里有个while循环从Socket的流里读值,值读出来了就结束。40分啊,来者有份啊!!!
private String Function_001(){
final Object lock = new Object();
String result;
Thread Thread_02 = new Thread() {
@Override
public void run() {
try {
while (result=bis.readLine()==null);
//这是从Thread_01里已经建立的Socket里读值,读到值后才推出while循环。
}catch (IOException e) {
e.printStackTrace();
}
synchronized (lock) {
lock.notifyAll();
}
}
}
try {
synchronized (lock) {
thread_02.start();
lock.wait(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
return result;
}
你可以用获取时间来查看查看.结尾时间分别放在run方法外面,与run方法里面.看看各自需要多少时间吧~
这个里面涉及的知识面比较多,不只是关于一条语句的。基本的问题就是为啥Function_001里要用线程?这个线程里有个while循环从Socket的流里读值,值读出来了就结束。40分啊,来者有份啊!!!
主线程里面使用子线程的目的就是迅速相应请求,就像你去寄快递,只要寄出去了快递公司就告诉你OK了,但是怎么运送,什么时候收到就是另外一回事儿了。