第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
来源:互联网 发布:工业企业数据库 官网 编辑:程序博客网 时间:2024/04/29 19:18
第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
本节王老师讲了scala并发编程的Actor。其原理是通过发送和接收消息来实现并发访问的,这样就不存在共享数据的问题。每一个数据都是新的,没有静态的数据。而java是通过synchronized或者lock把共享的数据锁起来来避免同时操作同一个数据。但是这样容易造成死锁和资源争用。而scala的Actor完全没有这样的困扰。
object First_Actor extends Actor{//第一个线程
def act(){
for(i<-1 to 10){
println("Step: "+i)
Thread.sleep(2000)
}
}
}
object Second_Actor extends Actor{//第二个线程
def act(){
for(i<-1 to 10){
println("Step Further: "+i)
Thread.sleep(2000)
}
}
}
main{
First_Actor.start
Second_Actor.start
}
将会交叉第打印各自的语句。
百度云:http://pan.baidu.com/s/1pJ5jzHx
腾讯微云:http://url.cn/aSawrm
360云盘:http://yunpan.cn/cctL3QYACaVNa 访问密码 c0fb
本节王老师讲了scala并发编程的Actor。其原理是通过发送和接收消息来实现并发访问的,这样就不存在共享数据的问题。每一个数据都是新的,没有静态的数据。而java是通过synchronized或者lock把共享的数据锁起来来避免同时操作同一个数据。但是这样容易造成死锁和资源争用。而scala的Actor完全没有这样的困扰。
object First_Actor extends Actor{//第一个线程
def act(){
for(i<-1 to 10){
println("Step: "+i)
Thread.sleep(2000)
}
}
}
object Second_Actor extends Actor{//第二个线程
def act(){
for(i<-1 to 10){
println("Step Further: "+i)
Thread.sleep(2000)
}
}
}
main{
First_Actor.start
Second_Actor.start
}
将会交叉第打印各自的语句。
百度云:http://pan.baidu.com/s/1pJ5jzHx
腾讯微云:http://url.cn/aSawrm
360云盘:http://yunpan.cn/cctL3QYACaVNa 访问密码 c0fb
0 0
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- Scala深入浅出进阶经典第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解
- 66.Scala并发编程实战初体验及其在Spark源码中的应用解析
- Spark进阶视频之Scala并发编程实战初体验及其在Spark源码中的应用解析
- Scala深入浅出进阶经典第67讲:Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析
- 第67讲:Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析学习笔记
- Scala深入浅出进阶经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第47讲: Scala多重界定代码实战及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第49讲:Scala中Variance代码实战及其在Spark中的应用源码解析
- 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析学习笔记
- Scala深入浅出进阶经典 第59讲:Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析
- 第43讲:Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析学习笔记
- 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析学习笔记
- jQuery 3.0 的变化
- 如何把字符串复制给数组杭电11页几小题的总结
- 制作动态库 dynamic framework
- hconcat函数 与 vconcat函数的使用---增加行或列
- HANA的基本概念
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- C++ RTTI介绍
- Masonry介绍与使用实践:快速上手Autolayout
- 等待对话框(网络请求等待进度条效果)
- 欧几里得算法
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第37讲:HTTP协议请求(响应)
- 修正EasyUI的BUG——Form中存在FileBox时的数据加载错误
- 如何有效使用Project(1)——编制进度计划、保存基准
- Android屏幕density, dip等相关概念总结