关于java多线程的问题?

lulin123 2004-11-06 04:33:20
为什么我用java写的多线程服务器端程序在运行一段时间后会一下子占用很多cpu?
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alpha15 2004-11-06
  • 打赏
  • 举报
回复
对每个线程
最好是都设置一点延迟,哪怕100ms也可以
anotherleeo 2004-11-06
  • 打赏
  • 举报
回复
你在线程的run内没有延时,也没有阻塞的方法。那么这个run就相当于一个while的循环。所以会占用100%的cpu。如果是服务器,那么run方法里通常是一个用来侦听的阻塞方法(在java.io中)或者一个非阻塞的方法(java.nio中)。如果用非阻塞的方法,需要在run里加上延时。
还有每个用户登入的时候就启动一个对象的线程。当用户退出的时候需要关闭这个线程并清除。
你需要确认在用户退出的时候你是否关闭并清除了相应的线程。
devel 2004-11-06
  • 打赏
  • 举报
回复
把你的程序贴出来大家分析一下看看。
lulin123 2004-11-06
  • 打赏
  • 举报
回复
那为什么会在运行一段时间后才出现这个情况呢?
lulin123 2004-11-06
  • 打赏
  • 举报
回复
我有写呀。
haroyy 2004-11-06
  • 打赏
  • 举报
回复
有无限循环吧
边城狂人 2004-11-06
  • 打赏
  • 举报
回复
是不是你的线程用完之后没有退出?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧