V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mayli  ›  全部回复第 1 页 / 共 25 页
回复总数  484
1  2  3  4  5  6  7  8  9  10 ... 25  
14 小时 54 分钟前
回复了 pureGirl 创建的主题 程序员 Python 中线程和协程的区别是什么
@cj323 简单说,底层是一样的,或者只有一层上面出来两套
一套是 blocking io ,另一套是 non-blocking io
大部分的 coroutine 都是解决网络 io ( asyncio 默认都不处理本地文件 io ),场景是大部分时间 cpu 都在等网络 io , 比如 webapp 等 db 之类。
python 的话,除了 GIL 部分,gevent 使用的是隐式的方法,相当于所有进到底层 blocking io 的地方,都包( patch )了一遍,强行改成了异步的办法,库用的是 libuv/libev
asyncio 用的是显式的写法,你所有碰 io 的地方,都得 asyncio ,然后 asyncio 库再去实现一个 event loop ,然后如果你恰巧用的是 uvloop, 那就跟 gevent+libuv 底层一样了。

对于 go ,由于 goroutine 的 async 是语言级,不是一个库,他实际上可以理解为 gevent 的风格,直接底层把 io 部分包好了。

对于 nodejs ,单线程的部分跟 py 很像,甚至 libuv 本身就是 nodejs 出来的,不过语法上也是要显式的使用 async.

tokio 的话,对应的位置应该是 uvloop 。rust 本身 std 有个 async ,tokio 相当于从 0 造了个轮子,包含了 uvloop+libuv 。

语法上要是根据有无显式 async 的话,gevent+go 是一类,其他的都需要显式的写 async await. 底层上除了 tokio/go ,都可以偷懒直接套现有的 event 库,比如 libuv.
综合来看,go 的 async 实现最优雅(原生内置),gevent 对于没有精神洁癖的人来说,性能也过得去,用起来也不难受。
15 小时 9 分钟前
回复了 Int100 创建的主题 VMware 2025 年 ESXi vs Proxmox VE (PVE):虚拟化方案选哪个?
pve, 你买得起 ESXi 吗?
17 小时 37 分钟前
回复了 bwijn 创建的主题 Python scrapy 的 item 队列把内存挤爆
CONCURRENT_ITEMS
17 小时 40 分钟前
回复了 pureGirl 创建的主题 程序员 Python 中线程和协程的区别是什么
我觉得主要区别是
线程是系统调度器抢占 cpu, 可以把进程 线程强制踢出 cpu
协程大部分是阻塞时主动让出 cpu, coroutine 的 co 我觉得是 cooperative 。
假如一个协程一直不阻塞,调度器也没法踢他。
17 小时 43 分钟前
回复了 pureGirl 创建的主题 程序员 Python 中线程和协程的区别是什么
@kaiveyoung 早期的系统进程和线程分的比较开,但是现在的基本上 thread 也会有 pid, 包括 linux.
3 天前
回复了 Keystroke 创建的主题 问与答 对于燃气公司,有没有什么反制手段?
法律法规…
4 天前
回复了 vfx666 创建的主题 汽车 高速堵车走应急车道你们怎么看
我觉得这件事是不对的 所以不应该做
正常吧,https://adventofcode.com/ 的简单题大部分 claude 都可以秒解一次过。
lua 比起 py/js 主要是轻量级+快,集成到 c/c++很容易
对于游戏公司,除了这个,应该就是路径依赖了。
8 天前
回复了 tj9862229081994 创建的主题 问与答 帮我看看的站为啥没有流量
感觉没啥用,一眼语法错误
Communication is key to making the most of Red Note.

你这是目标用户是啥?
11 天前
回复了 craiiz 创建的主题 分享发现 难道 Steam 的账户密码是明文储存的??
省流:用户错误
为啥不找微软客服?或者小主机客服?
13 天前
回复了 aqtata 创建的主题 C++ 这种情况如何消除几百个 if/else
我觉得你最好还是给个最小化的例子说下参数怎么不同,不然没法准备参数…
13 天前
回复了 ZGeek 创建的主题 NAS NAS 磁盘文件系统如何设计
ps: 只有 btrfs 和 zfs 有快照

小白的话,无脑群晖+btrfs+raid10 完事。
喜欢折腾可以玩多分区 zfs.
13 天前
回复了 ZGeek 创建的主题 NAS NAS 磁盘文件系统如何设计
没有 ecc 大概率不需要考虑 2 ) 能够自动检测文件错误并修复
因为理论上你写的,或者其他情况造成内存位反转就 gg 了。

我看了下场景,其实你完全可以 (类似群晖的玩法) 做俩 zfs: z1+z0
硬盘分区,
每个盘分 1T 出来,组 raidz10, 2T 的空间,重要资料和数据放这里
剩下 3T 组 raidz0 (12T raw), 放电影,盘坏了,丢了就丢了。

对于资料和照片等,cache 没啥必要,因为你大部分 io 都是媒体文件顺序 io ,而且也不会反复读写,命中率不高,ssd cache 加速不如你 64G ram 给 zfs 做 arc 。

ssd 单盘单独用吧,做系统,或者临时缓存。
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1969 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 14:48 · PVG 22:48 · LAX 06:48 · JFK 09:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.