Socket多线程同步问题 本帖最后由 fanday 于 2010-06-09 17:36:02 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的线程start()后你就控制不了它具体何时真正执行,即使是后生成的线程也可能比它前面生成的线程先运行,这个由CPU具体来控制,线程何时拿到CPU锁是随机的。如果你想要按顺序运行,建立一个容量为1的先进先出的线程池,服务端获取到的请求每次都生成一个Runnable对象,交给线程池去运行。 System.out.println(t.getName() + ":" + t.isAlive());这里句前面加上 while(!t.isAlive()){Thread.sleep(500);}看不懂楼主这么做有什么意义。。 你的线程start()后你就控制不了它具体何时真正执行,即使是后生成的线程也可能比它前面生成的线程先运行,这个由CPU具体来控制,线程何时拿到CPU锁是随机的。如果你想要按顺序运行,建立一个容量为1的先进先出的线程池,服务端获取到的请求每次都生成一个Runnable对象,交给线程池去运行。System.out.println(t.getName() + ":" + t.isAlive());这里句前面加上 while(!t.isAlive()){Thread.sleep(500);} 在楼主的场景下,搞线程sleep就没意义了,数据几个毫秒能处理的,非要花几百毫秒等待,这不捣乱么! java里String和StringBuffer两个的区别总共有多少? 求助!!!! 变量交换问题~送分题 快排······· main函数能不能放进包中? 学习JAVA要学到什么程度才算学会?急 什么原因不能显示有图标的button? 求EL表达式文档 如何设置JComboBox下拉框高度 java两个map合并 Java写的SocketServer能接收到C++写的发送程序发送的信息吗 有没有办法把Java Application加入到页面中?
这里句前面加上
while(!t.isAlive()){
Thread.sleep(500);
}看不懂楼主这么做有什么意义。。
System.out.println(t.getName() + ":" + t.isAlive());
这里句前面加上
while(!t.isAlive()){
Thread.sleep(500);
}