0
我想要执行一个在scala中执行的函数。像Java世界中的Functor。在scala线程内部执行传递的函数参数
我的JavaScript,我会做它作为
function g(f, data) {
f()
}
g(function(){
console.log('I must be printed')
}, 1000)
我在斯卡拉试图与下面相同的,(但Java线程),它不会工作
object FunctionProgInHamiltonRoad {
def g(f: (String) => Unit): String = {
val task = new TimerTask {
override def run(): Unit = {
println("I'm printed in g inside thread hell")
f
}
}
new Thread(task).start()
println("finishing off g")
"printed in g"
}
def main(args: Array[String]) {
g((id : String) => {println("I must be printed in g.")})
}
}
输出
整理掉g 我在g线里面打印地狱
但是传递的函数不会被执行。