多线程问题,欢迎讨论,up有分(100分,就100分) 可以试着采用线程回调的方法避免用死循环检测是否有消息。就是在收到消息的时候调用处理消息的方法这方面的问题《Java网络编程》中的线程那章有很好的说明。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以使用ProducerConsumer设计模式。 其实NutShell系列书籍中的《Java网络编程》上讲的很清楚透彻。还有实例,可以好好看看。我喜欢在书店看,^_^ 答案是这样的:无限制的等待必然耗尽CPU的资源,可以用设置信号量来解决即:只有在客户端有消息来的时候才开始等待接受,否则不等待(可以设置等待时间,比如5),超时则退出循环我所说的是在Vc下的解决办法,VC下有WaitForSingleObject 等方法可以使用,Java 下虽然没有消息机制,但是可以自己设定信号量 是不是当发送线程处理玩数据后,跳出循环,然后当有消息到来时再重新调用线程的start()方法开始处理数据,这样就不存在死循环问题了。 一点拙见,请到家批评指正!! 线程一被建立并运行便只会朝着“死”的方向走去,除非你的run()方法里面是个死循环——除非你把整个程序关掉否则是不会被系统回收的。如果你能够很好地利用好几个已建立的线程,一直为你服务,则能够达到运行效率块、节省资源。看样子,线程池是很适合你的要求的。 线程建立-->等待-->运行(或挂起)-->结束 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java源代码能否用Unicode编码 高手关于this用发的心得 *****懂jfreechart的朋友进来看一下***** 你愿意去那个公司(疯狂散分中)? Java语言中如何实现swap的功能啊 怎样编写一个java函数去掉html中的标记? 一个很简单的关于int和float的问题 在很多的程序的都出现String 不知道这个到底是什么东西???? 如何模拟鼠标点击事件 请advanced(超越)来拿分 能实现这样的功能吗?
还有实例,可以好好看看。我喜欢在书店看,^_^
无限制的等待必然耗尽CPU的资源,可以用设置信号量来解决
即:只有在客户端有消息来的时候才开始等待接受,否则不等待(可以设置等待时间,比如5),超时则退出循环
我所说的是在Vc下的解决办法,VC下有WaitForSingleObject 等方法可以使用
,Java 下虽然没有消息机制,但是可以自己设定信号量
再重新调用线程的start()方法开始处理数据,这样就不存在死循环问题了。
一点拙见,请到家批评指正!!
看样子,线程池是很适合你的要求的。