kotlin
文章平均质量分 57
damon2636
卖女孩的小火柴
展开
-
Kotlin协程原理解析
Kotlin协程实际上是所谓的stackless协程,即没有在线程之上实现类似线程栈的结构,可以认为是一种kotlin语言层面支持的 线程调度框架,使用这个框架,我们可以省去手动书写callback,使代码看上去是同步的使用了协程以后,原本需要回调实现的非阻塞功能可以用阻塞的方式去写,比如:launch { // 异步读时挂起 val bytesRead = inChannel.aRead(buf) // 读完成后才执行这一行 ... ... .转载 2021-03-18 11:08:21 · 493 阅读 · 0 评论 -
如何通过Java实现一个高性能API网关
先不谈论要实现的功能,API网关我觉得主要指标就是性能,性能要想上的我觉得可以通过以下两个技术栈实现。1.非阻塞基于servelt 3.1异步io技术,spring 5 webflux, netty自定义http server都是实现非阻塞请求的方案。2.协程kotlin,Quasar都提供了协程的功能,在api网关后续业务处理及消息转发时,我们可以选择协程的方式来替代线程的模型,极大能够增加并发处理数量。Kong 看着一堆lua脚本头晕,spring Gateway, zuul2 他们都是优秀的A原创 2021-02-07 21:56:00 · 1161 阅读 · 1 评论 -
协程与线程
Java程序员对于线程我想都不会陌生,协程在java语言还未被支持。协程是一个比线程更加轻量级的存在,一个线程可以拥有多个协程。轻量级大家可能会有疑惑多轻量级?比如我们普通pc机上,启动一个进程,然后启动3000个线程,然后你会发现oom了,更不用说通过这些线程处理业务,CPU的轮询就相当耗费时间。有没一种更加轻量级的解决方案呢?那就是协程,我们在一个线程下可以轻松的开始5000个协程,并不会消耗太多的资源。 举个例子:有这样一个需求,我们需要处理一个网络业务,每个网络业务...原创 2021-01-31 16:26:09 · 194 阅读 · 0 评论