Java高并发框架Quasar
来源:互联网 发布:东华软件股份公司官网 编辑:程序博客网 时间:2024/06/01 23:00
Java在高并发场景下相对Go和Erlang等语言来说具有较大劣势,原因就是Java几乎只有线程池一条路好走。假设有个场景,一个业务需要Http从第三方获取数据,平均获取时间是500ms,如果用线程池解决,假设线程最多是500,那么每秒并发最大也就1000,大部分时间在IO等待。继续增加线程,会导致系统CPU切换、内存使用成本迅速上升,最后导致性能无法提高。
有一个办法是采用异步网络模型NIO,如Netty等框架,性能可以得到极大提升。缺点是方法调用得写成异步回调的,代码将比较难以读懂。
Quasar出现就是为了解决这个问题。按照他官方文档 http://docs.paralleluniverse.co/quasar/ 。他是一种轻量级线程,称之为”Fiber“,Fiber的写法几乎和线程一模一样,代码逻辑非常容易懂。
new Fiber<V>() { @Override protected V run() throws SuspendExecution, InterruptedException { // your code }}.start();
但Fiber不是由OS管理的。所需要的CPU和内存代价都极小,每个Fiber需要的内存是400个字节!相比线程1M字节来说,是1/2500。因此,Quasar强烈建议你不要害怕开Fiber的数量太多,可以开成千上万甚至上百万都没有问题。
当然Fiber也有一些限制,比如对同步快的使用一般是禁止的,也不能用线程的Block。
目前版本还处于0.7.*,似乎也没有大厂关注,倒是很奇怪的事儿。有人测试过他的大并发性能,大约是Go的一半,不过也是很客观的提升了。
0 0
- Java高并发框架Quasar
- Java的纤程库 - Quasar
- Java异步NIO框架Netty实现高性能高并发
- Java异步NIO框架Netty实现高性能高并发
- Quasar轻量级java线程库
- java高并发框架 SSM框架 Spring+SpringMVC+MyBatis
- java高并发框架 SSM框架 详细整合教程
- 【Java高并发学习】Fork/Join框架、以及JDK中的高并发容器
- 高并发网站优化——java缓存框架
- JAVA 企业级框架、安全权限、高并发、多线程、稳定强
- java 高并发无锁框架 Disruptor 系列一
- JAVA 企业级框架、安全权限、高并发、多线程、稳定强
- 并发 - java高并发解决方案
- java-并发-高并发概述
- Coroutine in Java - Quasar Fiber实现-优
- 高并发TCP网络服务框架
- java高并发、高性能
- java高并发解决方案
- # 读写锁类ReadWriteLock #
- Docker容器及Spring Boot微服务应用
- AlertDialog对话框-自定义View
- html手机端调用手机相册和摄像头
- Adapter的封装
- Java高并发框架Quasar
- # Linux常用命令 #
- lintcode,带最小值操作的栈
- mac常用shell命令
- python 数据处理中的 LabelEncoder 和 OneHotEncoder
- vim缩进
- writeup-FLAG 实验吧
- Mysql数据库一个字段中存有另一个表中的多ID
- EditPlus 正则表达式 实战_2