我有一个要定期检查和修剪的缓存。在Java中,我将执行以下操作:
new Thread(new Runnable() {
void run() {
while (true) {
Thread.sleep(1000);
// clear the cache's old entries
}
}
}).start();
当然,我将线程安全类型用作缓存时会遇到一些问题,但撇开这个问题,我的问题很简单。 Scala运行重复后台任务的方式是什么-您不希望在应用程序的主线程中运行某些东西?
我已经使用过actor了一点,我想在这种情况下的问题是我没有任何东西可以生成一条消息,该消息是时候清除缓存了。或者更确切地说,我可以想象生成这些消息的唯一方法是创建一个线程来执行此操作。
编辑:我需要人们对答案进行投票-他们对我来说都很好
最佳答案
有很多方法可以做到这一点,但是我会做一些简单的事情,如下所示。
import scala.concurrent.ops._
spawn {
while (true) {
Thread.sleep(1000);
// clear the cache's old entries
}
}
希望这可以帮助。
关于multithreading - Scala中的后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334566/