使用scala actor时遇到的一个问题~-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用scala actor时遇到的一个问题~

2016-06-17 09:19:29 2099 1
import scala.actors.Actor._
object Actor1 extends Application {
val caller = self
val badActor = actor {
receive {
case msg =>
println(msg)
caller ! "bbbb"
}
}
badActor ! "aaaa"
receive {
case a : String => println(a)
}
}

为什么在输出"aaaa"就没有继续执行了呢?
debug时suspend线程可以看到阻塞在caller ! "bbbb"这一行了,如果用sender的话就没问题 而且sender和caller确实是同一个对象……

运行环境是eclipse+scala插件,当作脚本运行这段代码是可以的。

有人遇到这样的情况吗?怎么解决啊?

取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:42:01

    Java本身的进程之间共享的特点决定了。

    注意最后一段,主进程被混入了Actor,然后和badActor进行通信。

    也就是说,你通过actor {}方式构建的是依赖于当前进程环境下的actor,而new Actor则创建了一条新的线程。

    0 0
相关问答

1

回答

Erlang、Scala、Go三种语言的特点是什么啊?

2022-08-15 12:52:35 135浏览量 回答数 1

1

回答

Scala是一种什么类的语言啊?

2022-08-15 12:52:25 128浏览量 回答数 1

1

回答

scala语言有什么特点?

2021-12-11 22:48:35 102浏览量 回答数 1

1

回答

Scala是一门什么样的语言?

2021-10-21 14:35:41 172浏览量 回答数 1

1

回答

熟练的掌握Scala语言系列课程:报错

2020-06-06 00:23:32 275浏览量 回答数 1

0

回答

Java语言编写的用于Avro工具的Scala类加载器运行方法

2019-09-30 14:57:13 308浏览量 回答数 0

1

回答

使用jQuery设置UI文本的JavaScript有什么特点?

2021-11-07 10:04:41 103浏览量 回答数 1

1

回答

JavaScript是什么语言?

2021-09-29 11:44:41 369浏览量 回答数 1

1

回答

扫描二维码,返回的readableObject对象中带有scalar values的理解

2016-07-27 10:43:37 1529浏览量 回答数 1

1

回答

JavaScript操作DOM的问题

2016-03-20 11:02:27 2119浏览量 回答数 1
+关注
2
文章
9426
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载