码迷,mamicode.com
首页 > 其他好文 > 详细

scala 定时器

时间:2017-09-04 13:12:22      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:read   定时   div   cep   main   接收   object   参数   blog   

假如我们要开发一个定时器,该定时器每秒钟执行一定的动作,我们如何把要执行的动作传给定时器?最直观的回答是:传一个实现动作的函数(function)

object Helloworld {

  def oncePerSecond(callback:(Int) => Unit): Unit ={

    val a = 111
    while (true){
      callback(a)
      Thread sleep 1000
    }
  }
  def sendinfo(i:Int): Unit ={
    println("hello"+i)
  }
  def main(args: Array[String]): Unit = {
    oncePerSecond(sendinfo)

  }
}

 其中callback是一个int => Unit的函数名,oncePerSecond接收一个函数作为参数,而不是这个函数的结果,因此该函数sendinfo传入时不需要带参数,如果带参数则编译器会将其理解为这个函数的结果,也就是Unit

scala 定时器

标签:read   定时   div   cep   main   接收   object   参数   blog   

原文地址:http://www.cnblogs.com/LazyJoJo/p/7472805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!