java支不支持多线程_为什么 Java 坚持多线程不选择协程?

9102年了,你还不知道有一个叫做vert.x的东西?

1)为什么重要,因为历史原因,以前java没有nio,直到1.4才把nio做出来,1.8才把lambda做出来,很多历史框架还停留在thread based阶段,并不奇怪,java是升级时候兼容性做得最好的语言,不用加之一,java的兼容性可以兼容到1.1版本的代码,正因为如此,java横行不是没有道理的

2)用协程可以避免,看看vert.x的并发机制就懂了,实现lock free之后,unit tests能过,基本上就不会出现并发才有可能出现的错误

3)go不是coroutine,而是goroutine,本质上是fiber,应该翻译成纤程,java目前有一个第三方的实现叫做quasar,作者正在openjdk伦敦做project loom,你可以在twitter上关注一个叫做ron pressler的人,他就是quasar和loom的作者,定期会有presentation释出,你可以多看看他的演讲,会对协程,纤程有更深入的理解

4)是的,所以vert.x现在主要用户其实用的都是vertx-lang-kotlin,下一个目标是es4x,真正用java暴力写的,并不太多

最后学好多线程是否有必要,有必要,因为不管是纤程还是协程,都是建立在多线程基础之上的延伸和发展,多线程都搞不定,其他两个更搞不定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值