我正在为练习编写一个简单的应用程序,我想每N分钟显示一条信息,然后睡一会儿。
我的问题:设计具有此功能的应用程序的最有效方法是什么:先睡一会儿,然后醒来做点什么。我是一名学生,在学校,我们用线程编写应用程序,在编写了一个基本内核之后,我了解了一些调度和时间分割的基本知识。
我的目标是更好地理解如何编写一个占用空间非常小的小程序(以及如何在这个小示例中达到这个小占用空间),但是可以运行几个星期。
我想,理想情况下,我希望进程在N分钟内不运行,然后(通过OS)在一些时间片之后醒来,但我不确定除了but ()之外还有其他方法。我正在用Java编写它,但我可以使用C或Python,如果它们能做得更好的话(我觉得这不重要)。我还在研究,但我想我也会从社区中得到一些提示。
这个程序是一个简单的提醒,告诉我伸展和使用站立的桌子。)更好地理解线程是实际目标。
发布于 2016-02-16 21:00:41
关于Thread.sleep的评论实际上是关于比你的用法更精确的,海事组织。Thread.sleep应该足够精确以满足您的需要。您可以查看一个ScheduledThreadPoolExecutor,它可以帮助您摆脱一些棘手的线程管理,随着程序的复杂性增加,这是一件容易出错的事情。
发布于 2016-02-16 21:14:21
Well, From application perspective as you mentioned you can use the Thread.sleep(N).
However the accuracy totally relied on the underlying machine.
(Read the docs on http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#currentTimeMillis())
You can also use this SOF to get more options : http://stackoverflow.com/questions/824110/accurate-sleep-for-java-on-windows
on the under relying machine. https://stackoverflow.com/questions/35442803
复制相似问题