scala 控制

如下函数在线程中执行某段代码:


def runThread(block:()=>Unit){

      new Thread{

orverride def run(){block()}

}.start()

}

这段代码以类型为()=>Unit的函数的形式给出。不过,当你调用该函数时,需要写那么一段不优美的()=>:

runInThread(()=>println("Hi");Thread.sleep(1222);println("bye"))


要想在调用中省掉()=>,可以使用换名调用表示法:在参数声明和调用该函数参数的地方略去(),但保留=>:

扫描二维码关注公众号,回复: 63980 查看本文章

def runInThread(block:=>Unit){

  new Thread{

orverride def run(){block()}

}.start()

}

这样一来,调用代码就变成了runInThread{println("")

;Thread.sleep(1222);println("bye")

}


猜你喜欢

转载自blog.csdn.net/seaReal1/article/details/80078759
今日推荐