美好的一天,
我需要编写一个每X分钟执行一次操作的java服务器。操作是检查数据库以查看当前/系统时间是否与数据库中的任何时间匹配,并提取这些项目,并向它们发送TCP消息。
因此,数据库调用在机器上是本地的,所以这没问题。但是,至少需要同时发送10个TCP呼叫。因此,tick可能实际上需要在它自己的线程上发生。我可以提一些建议吗?
我是否需要线程池?
答案 0 :(得分:0)
您可以做的一件事是创建一个计划作业并每x分钟运行一次该作业。这样就可以每x分钟执行一次工作,你需要在工作中定义你的任务以执行更多信息click here
答案 1 :(得分:0)
我会使用Timer或者我会使用Quartz Scheduler - 前者更轻量级,而后者(可选)是持久的(意味着计划任务将保存到数据库中程序重启时重新加载。)
答案 2 :(得分:0)
TimerTask(或)ScheduledExecutorServices实施都是此任务的最佳选择。是的,我认为线程池是最好的选择,因为你不需要每X分钟创建10个线程。