并发模型演进史(七):实战选型——没有银弹,只有场景
学了六种并发模型,该用哪个?答案是:看场景。没有最好的模型,只有最适合的。这篇文章给你一个决策框架,帮你在实际项目中做出选择。 ...
学了六种并发模型,该用哪个?答案是:看场景。没有最好的模型,只有最适合的。这篇文章给你一个决策框架,帮你在实际项目中做出选择。 ...
其他语言在运行时防止数据竞争,Rust 说:太晚了。它把检查前移到编译期——写出数据竞争的代码,根本编译不过。这听起来很激进,但 Rust 证明了它是可行的。 ...
Actor 说:我是实体,给我发消息。CSP 说:不,Channel 才是主角,进程只是 Channel 两端的工人。Go 语言选择了 CSP,并且用一句话总结了它的哲学:不要通过共享内存来通信,而要通过通信来共享内存。 ...
如果共享状态是万恶之源,那就别共享。Actor 模型的哲学很简单:每个 Actor 都是一座孤岛,唯一的沟通方式是发消息。这个 1973 年的理论,在 Erlang 手里变成了电信级的可靠性。 ...
线程太重,一个服务器撑不了几万个连接。于是我们发明了协程——一种假装是线程的函数。它轻到可以创建百万个,但代价是:你得重新学一套编程模型。 ...
锁是治疗竞态条件的药,但剂量不对会变成毒。粒度太粗,性能完蛋;粒度太细,死锁等着你。欢迎来到锁的地狱。 ...
你的 8 核 CPU,可能只有 1 核在干活。不是硬件不行,是软件跟不上。欢迎来到并发的世界——一个充满陷阱的世界。 ...