V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  ipwx  ›  全部回复第 45 页 / 共 206 页
回复总数  4108
1 ... 41  42  43  44  45  46  47  48  49  50 ... 206  
❮ ❯
2021 年 12 月 13 日
回复了 kingofzihua 创建的主题 › Linux › 问一个协程方面的问题
@kingofzihua

1. 对,协程只对非阻塞 IO 起作用。
2. 但其实,所有上述的并发方法都是针对阻塞 IO 减少开销的。对于 CPU 密集型任务,如果只有 2 个核,同时跑 4 个矩阵计算是没有意义的。
3. 在实践中,通常把 IO 任务和计算任务分开。IO 靠比如 Promise/Future ,event loop ,协程搞。如果需要调用计算任务,就扔到一个固定线程数的线程池上跑,然后协程进入 await 。等计算完成 await 被唤醒,再继续做后面的 IO 。
2021 年 12 月 13 日
回复了 kingofzihua 创建的主题 › Linux › 问一个协程方面的问题
@0o0o0o0 其实感觉 async/await 就是协程的一种(个人认为最优美的)表现形式。然这需要大量语法糖支持。

Python 和 JS 的 await 都已经上线了,用起来其实挺爽的。只是 Python 方面的支持库力度还不行。

C++20 的 coroutine 虽然语法糖标准已经发布了,但是根本没有支持的库(差评)。还得等几年。
2021 年 12 月 13 日
回复了 kingofzihua 创建的主题 › Linux › 问一个协程方面的问题
其实这里有两条技术路线

callback => promise / future
event loop => coroutine

要理解协程就要去理解这两条技术路线的区别。
2021 年 12 月 13 日
回复了 kingofzihua 创建的主题 › Linux › 问一个协程方面的问题
并发种类:

1. 多线程:太慢

2. callback:代表作为 Node.js 、python tornado ,boost asio 。但是会陷入 callback 地狱。

3. Promise / Future:java, scala, js, 比 callback 好多了,目前是主流技术之一。缺点是要仔细管理闭包的嵌套。

4. event loop:一般 c/c++ libev libuv ,还有 python gevent 。心智负担比上述三种都大,但是可以更精细操作、更高效。底层实现一般为 kqueue 和 linux 上的 epoll ,或者 fallback 到 select 。

大名鼎鼎 nginx 就靠 event loop 暴打同时代。

5. 协程。

协程一般用 event loop 实现,这种协程就是对 event loop 的抽象。要理解协程,建议稍微学习一下 event loop 。
2021 年 12 月 13 日
回复了 kingofzihua 创建的主题 › Linux › 问一个协程方面的问题
“如果阻塞是系统调用阻塞,线程就会挂起,调度到其他的线程了,你协程没用”

所以协程要配合非阻塞 IO 。

原先 callback 或者 Future.map 就是非阻塞的,但是写起来心智负担太大。所以抽象了一种 IO ,形式上是阻塞的,但是实质上是非阻塞的。await non-blocking read 会把控制流立刻转向其他协程,而当这个 non-blocking read 成功以后这个协程会重新进入调度队列。
2021 年 12 月 13 日
回复了 JohnXu20151211 创建的主题 › C++ › 求问 C++一个问题
1. 虽然原则上在 mac 上开发 linux 上运行的 c++ 也不是不行。
2. 但是最方便的还是在对应平台上开发,不然断点调试麻烦。
3. 所以你可以买一台比如,联想
2021 年 12 月 13 日
回复了 balabalaguguji 创建的主题 › 问与答 › 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
@3dwelcome 真没必要这么快。Typora 的渲染速度已经够了,看上去也不是纯 GPU 的亚子.
2021 年 12 月 13 日
回复了 balabalaguguji 创建的主题 › 问与答 › 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
@balabalaguguji 呃,Typora 不贵吧。。。虽然不是没竞品。

MarkText 不好用,渲染性能有点问题。Milkdown 这个控件还不错,但是只有控件没有 app 。
2021 年 12 月 13 日
回复了 balabalaguguji 创建的主题 › 问与答 › 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
你自己开发付出的时间成本还不如买一份授权。

如果是觉得它不够用那另说。
2021 年 12 月 13 日
回复了 kexming888 创建的主题 › 软件 › 想支持正版软件,但是又心疼钱
@xz410236056 下馆子和朋友撮一顿也要 100-200 啊这个时代。你一年不下馆子个几十回么?

99 刀一个 Xshell 确实离谱,我上面也说了,用竞品。但是 99 人民币总算不贵了吧?你电脑上常用软件、没有免费开源竞品的,能有几十个嘛?
因为现实世界中可能有突如其然的大量数据,让 es 暂时宕机。此时如果你每个客户端都自己重试,就会让这个突如其来再度翻几倍,那么你将损失一大批数据。Kafka 的写入比 es 快很多,所以相当于一个缓冲区,还是分布式的。
2021 年 12 月 12 日
回复了 kexming888 创建的主题 › 软件 › 想支持正版软件,但是又心疼钱
@IxIIxI 你这用破解版的可真恬不知耻。你自己做的软件别人如果白嫖,你自己不会生气嘛?

用不起就换一个竞品,这才是正确的回答吧。
2021 年 12 月 12 日
回复了 kexming888 创建的主题 › 软件 › 想支持正版软件,但是又心疼钱
Xshell 是太贵了没必要。
2021 年 12 月 11 日
回复了 AndyAO 创建的主题 › Python › 那些 Python 语言设计上的重大失误
@c0xt30a 哦你说跑实验的代码?

https://github.com/haowen-xu/ml-essentials
https://github.com/haowen-xu/mlstorage-server

不过这两个相对而言没怎么写好文档。。。
2021 年 12 月 11 日
回复了 AndyAO 创建的主题 › Python › 那些 Python 语言设计上的重大失误
@c0xt30a 啥玩意儿的代码?

我论文代码: https://github.com/NetManAIOps/Donut
我后来整理出来的一些模型代码: https://github.com/haowen-xu/tfsnippet
1. 对于不能 asyncio 的部分你可以用 loop.run_in_executor() 转换到线程池上做,不过……
2. 很多数据库都有 asyncio 版。比如 aiopg (postgres), aiomysql (mysql), motor (mongodb)
3. 文件交互可以用 aiofiles ,如果 service static file to http 直接丢给比如 starlette 。
4. 其实 asyncio 写起来很爽。
2021 年 12 月 10 日
回复了 ruxuan1306 创建的主题 › Python › Python 一个整型居然最少 24 字节
可是 python 对于小整数是复用对象的嘛(对象池)

而且如果你要处理大量数字,你该上 numpy
2021 年 12 月 9 日
回复了 nianyu 创建的主题 › 信息安全 › 关于 token 过期的疑惑,为什么需要 refresh token?
加密签名,可以验证 AccessToken 没有被篡改和捏造(解密出来“什么时候过期”,它就一定是正确的过期时间。客户端无法捏造这个时间)。那么每个后端服务器只要有一套解密的密钥就行了。

甚至集中的认证服务器,可以根据要访问的业务,调用不同的加密密钥去加密,这样的 Access Token 自然只有对应的业务才会承认。

这就是 Stateless 的核心 —— AccessToken 不用连接任何中央服务器,就能迅速检验它是合法的、不是捏造的。时间戳附带签名就能证明其真实性。
2021 年 12 月 9 日
回复了 yttsam 创建的主题 › 推广 › C/C++学起来难,还是 Rust 学起来难呢?
同 C++ 程序员,C++17 我都觉得很好用了,并且在等 C++20 。Rust 对我吸引力很小。
哦补充:看 prob_vec 第几项 <= p 可以用二分。

所以整个复杂度是 O(N + log N),额外空间 O(N)
1 ... 41  42  43  44  45  46  47  48  49  50 ... 206  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1610 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 18:06 · PVG 02:06 · LAX 10:06 · JFK 13:06
♥ Do have faith in what you're doing.