JAVA Timer(计时器)和多线程之间的性能问题
我想做一个房间系统(游戏里面的房间),要对每个房间进行维护,就涉及到每个房间都是一个线程来维护。房间都有独立的计时任务(比如房间有不同的阶段,不同的阶段有不同的处理逻辑)...
我想做一个房间系统(游戏里面的房间),要对每个房间进行维护,就涉及到每个房间都是一个线程来维护。房间都有独立的计时任务(比如房间有不同的阶段,不同的阶段有不同的处理逻辑)。基于此,我想到两种方法:1:房间里面开一个计时器,由计时器来完成计时任务;2:房间本身就是一个线程,由线程来模拟出计时器的功能。求教:这两种哪种更好(考虑哪种效率高,更加稳定),或者其他的实现方式。拜托!!
展开
展开全部
个人认为
可以开一个计时器来管理所有的房间,根据不同的房间执行不同的业务,执行的业务通过异步线程(写个线程池获取弯早仿里面的线程)埋纤去执行(避睁雹免任务耗时 阻塞)
可以开一个计时器来管理所有的房间,根据不同的房间执行不同的业务,执行的业务通过异步线程(写个线程池获取弯早仿里面的线程)埋纤去执行(避睁雹免任务耗时 阻塞)
追问
恩,所有房间都有管理,我现在也是用的单个房间开一个线程处理业务,也是用的线程池。不知道还有其他方式没有呢,或者能不能说明下用计时器和用线程之间的优劣。做个参考比较。
追答
计时器 提供运行基于时间的工作任务或者按指定的时间间隔反复运行,如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程,从而可能延迟后续任务的执行
线程 可用于同步(线程排队)或者异步的任务,其中可能涉及到资源共享或者锁的问题
这2个东西实用的场景不同,不能做比较
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询