服务器如何在每个特定的时间间隔在后台运行Java程序?
我在Raspberry Pi上编写了一个简单的java代码,它将数据从Raspberry Pi发送到服务器。现在,我不想手动运行程序,而是希望程序在后台每隔10秒(任何特定时间)自动执行一次,这样新的数据就会在这段时间后发送到服务器。Raspberry Pi在Raspbian操作系统上运行。 有人能帮我解决这个问题吗?先谢谢你
你可以在下面搜索框中键入要查询的问题!
我在Raspberry Pi上编写了一个简单的java代码,它将数据从Raspberry Pi发送到服务器。现在,我不想手动运行程序,而是希望程序在后台每隔10秒(任何特定时间)自动执行一次,这样新的数据就会在这段时间后发送到服务器。Raspberry Pi在Raspbian操作系统上运行。 有人能帮我解决这个问题吗?先谢谢你
# 1 楼答案
您有两种选择:从
cron
或类似的位置定期运行作业,或者将应用程序更改为长时间运行的进程,该进程将作为服务在您的设备上运行,并将执行自己的调度。像Quartz(http://www.quartz-scheduler.org/)这样的库可以用来实现后者。长时间运行的作业的一个微小优势是在启动作业时(初始化和拆除JVM)的损失更小# 2 楼答案
我找到了答案。 使用crontab,您可以在特定的时间间隔执行任务。 对于java文件,您必须创建一个jar文件,如果您希望每一分钟运行一次,那么crontab的语法是
但这里的问题是你的任务每1分钟重复一次。所以,如果你想在10秒内完成,那么你必须使用线程睡眠。 线程睡眠的代码是
# 3 楼答案
您可以为应用程序使用
java.util.Timer
,而不是Thread
我认为这是解决你问题的最简单的方法
# 4 楼答案
您可以使用
Thread
在特定时间点执行代码例如: