guyeu
ONLINE

guyeu

V2EX 第 274780 号会员,加入于 2017-12-15 17:26:21 +08:00
今日活跃度排名 143
根据 guyeu 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
guyeu 最近回复了
2 天前
回复了 v2tudnew 创建的主题 Windows 已经无法阻止 Windows10 更新了吗?
咦为啥我印象中有个按钮是永久推迟更新(不过我比较喜欢追新就没点
@xxiali #14 嗷,那算下来差不多,我当时冬季燃气费就花了 3K 。。这还是紧着烧
@xxiali #12 看咋用吧。。不过烧暖气我不大相信只有 200/月
17 天前
回复了 Chenganghui 创建的主题 macOS Mac 邮件客户端 opt(s)?
mailspring?
19 天前
回复了 MarsMTC 创建的主题 macOS 企业微信啥时候适配 m1 啊?
钉钉也没适配呢,着啥急
21 天前
回复了 balabalaguguji 创建的主题 编程 我来说说异步框架的最大缺点
@no1xsyzy #141 激进非抢占和消极非抢占都是什么意思呀,第一次听到这俩名词,搜了一下也没搜到,能给个链接学习一个吗
21 天前
回复了 balabalaguguji 创建的主题 编程 我来说说异步框架的最大缺点
你说的这算什么缺点啊。。。哪怕是纯多线程,你写出了一个死循环或者死锁,就能保证它只阻塞一个线程不影响其他线程?
还有,异步和多线程并不存在任何冲突,思维不要被单一语言限制,从原理上讲这俩就不是一个维度的东西。

目前的操作系统只提供了多线程和多进程的调度支持,如果要实现异步,要么是如你所言线程池(单线程也是一种线程池)+回调的方式,要么是 go 这种自行实现了一套协程的调度模型,但这两种最终的落脚点都在操作系统的线程上,因此就目前而言,各种异步编程的实现方式都是对多线程去阻塞的优化,目标还是完美利用多核算力。

一般而言,公认异步的缺点主要有以下两种:
1. 对同步代码的破坏性改动,绝大多数异步 API 都具有传染性,类似各种语言的 async 关键字,各种异步库的 Future/Promise/Mono,都不可避免通过函数签名的方式传染调用方( go 这方面就好很多);
2. 复杂调度和竞争导致的延时,同步可以不用做其他事专心等阻塞逻辑的结果就好,异步就得等线程 /协程调度的结果,让你这个回调执行才能轮到执行,当并发量大的时候长尾效应还是很严重的。
21 天前
回复了 Joker123456789 创建的主题 推广 网络编程包 - Magician 的原理 与 使用
@Joker123456789 #26 然后两个组件的网络消息共用一个线程池。。。
22 天前
回复了 Joker123456789 创建的主题 推广 网络编程包 - Magician 的原理 与 使用
@Joker123456789 #3 推广的事就不提了。其实上午我怀着相当大的期待阅读了你的部分源码,因为是把它当作 Netty 的替代去看待的,所以不自觉地把它和 Netty 做了一些对比,如果有冒犯的地方向你道歉。emmmmm,那就不提 Netty 说几个有可能提升你这个项目质量的点

1. 对协议的抽象不够,假如某个业务想把 http 换成 udp,看不出有什么平滑切换的可能性;
2. 和线程模型绑得太死,市面上鲜少有这种自带线程模型的网络库;
3. 没有性能测试数据,也无从得知你这个网络库的性能怎么样;
4. 代码风格值得优化,起码把 JavaDoc 按规范写了吧;
5. 缺乏面向对象设计,似乎从未考虑过一个服务的两个组件同时使用你这个网络库的任何可能性;
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2158 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 15:32 · PVG 23:32 · LAX 08:32 · JFK 11:32
♥ Do have faith in what you're doing.