文章分类 - scala
摘要:scala使用不变对象,在并发编程中,不同的线程通过消息的方式(传递不变对象)进行线程间通信。由于对象的不变性,不需要对对象状态进行同步以免数据竞争,不需要对方法进行同步,不用担心涉及多个调用的方法在多线程中被其他线程竞争先调用其中的部分调用。在java并发模型中,我们需要关注共享的数据结构,而使用Scala则需要关注操作数据的代码结构,因为对象都是不变的。在actor之间进行消息的传递: def main(args: Array[String]) { //新建一个actor val mine = Actor.self; //也是创建一个新的actor发送消息 // m...
阅读全文
摘要:模式匹配是函数式编程的必备,也是scala广泛使用的特性,在并发编程里面用到了很多。模式匹配的模式是:something match { case .... case .... ......}可以进行字面量和常量的匹配: def activity(day:String){ day match { case "monday" => println(day) case "saturday" => println(day) } }可以匹配元组和列表: def activity(day:Any){ day match { case "mon
阅读全文
摘要:有必要把scala的入门记录下来。scala几要素:1.immutable,scala可以创建immutable的对象,这样在并发编程中,可以不需要使用同步,可以不适用互斥。2.FP,可以提高代码的简洁度和提高编码的效率,有时候编码也更加简单。3.基于JVM,编译成Bytecode,可以和java相互作用。4.基于事件的并发模型5.静态强类型语言,使用类型推断使得代码非常的简洁。scala 语法与一些概念1.val a ="hello world" //不需要指定类型,scala可以进行类型推断var b =2b =3 //val为immutable对象,var为mutab
阅读全文