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

初学scala4——trait混入

时间:2017-02-07 01:05:35      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:div   相减   pre   代码   esc   scala   get   log   sleep   

最近在调优程序,总要对比程序执行的时间,之前都是在程序片段前后加上时间然后相减。

今天看了别人写的代码,使用了trait混入,减少了很多同样代码,mark一下,也加深对trait混入的理解。

trait TMetrics {
  def timeIt[T](desc: String)(f: () => T): T = {
    println(s"Thread:${Thread.currentThread().getId} | BEGIN | ${desc} | ${new Date()}")
    val res = f.apply()
    println(s"Thread:${Thread.currentThread().getId} | END   | ${desc} | ${new Date()}")
    res
  }
}

object MeTest extends TMetrics with App{
    timeIt("Test")(() => TimeUnit.SECONDS.sleep(3))
}

执行结果

Thread:1 | BEGIN | Test | Mon Feb 06 20:37:06 CST 2017
Thread:1 | END   | Test | Mon Feb 06 20:37:09 CST 2017

 

初学scala4——trait混入

标签:div   相减   pre   代码   esc   scala   get   log   sleep   

原文地址:http://www.cnblogs.com/lybo/p/6372175.html

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