Scala第三天作业
来源:互联网 发布:百度高级优化师 编辑:程序博客网 时间:2024/05/21 04:21
1.修改sizer程序,增加一个计算页面上链接总和的消息。
import scala.io._import scala.actors._import Actor._ object PageLoader { def getPageSize(url: String) = Source.fromURL(url).mkString.length def getLinkNumber(url: String) = { val reg = """<a.{0,}\s{1,}href=""".r reg.findAllIn(Source.fromURL(url).mkString).size }}val urls = List("https://github.com/", "http://spring.io/", "http://tomcat.apache.org/index.html") def timeMethod(method: ()=> Unit) = { val start = System.nanoTime method() val end = System.nanoTime println("Method took " + (end - start)/1000000000.0 + " seconds.")}def getPageSizeSequentially() = { for(url <- urls) { println("Size for " + url + ": " + PageLoader.getPageSize(url)) } for(url <- urls) { println("Links in " + url + ": " + PageLoader.getLinkNumber(url)) }}def getPageSizeConcurrently() = { val caller = self for(url <- urls) { actor { caller ! ("Size", url, PageLoader.getPageSize(url))} actor { caller ! ("Number", url, PageLoader.getLinkNumber(url))} } for(i <- 1 to (urls.size * 2)) { receive { case ("Size", url, size) => println("Size for " + url + ": " + size) case ("Number", url, number) => println("Number of " + url + ": " + number) } }}println("Sequential run:")timeMethod { getPageSizeSequentially } println("Concurrent run:")timeMethod { getPageSizeConcurrently }
0 0
- Scala第三天作业
- Scala学习第三天
- Ruby第三天作业
- Prolog第三天作业
- scala 第一天作业
- 训练营第三天作业
- Python第三天课后作业
- scala 第一周编程作业
- Java Language:-第三天-2-Java作业-12/10/2014
- c++ 学习之路 第三天 作业理解
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- uva 1637 - Double Patience
- automake,autoconf使用详解
- 大量的QT控件及示例发放
- 【20150912】NOIP模拟 题解 & 总结
- Android基础入门教程——2.4.10 Spinner(列表选项框)的基本使用
- Scala第三天作业
- 八大排序算法的Python实现
- 进入实战,开发酷欧天气(二)
- 设置tomcat的运行内存
- 测试NDK
- phpcms v9模块操作列表
- Jquery中AJAX参数详细说明
- Maven Web项目Servlet开发之登陆界面
- Java自定义异常在项目中的应用