dev
【翻译】揭秘 Ruby ♦️ (1/3):一切都关于线程
Ruby 是一种动态的、解释型的开源编程语言,广泛用于 Web 开发。其主要虚拟机 Matz Ruby Interpreter(CRuby)实现了全局解释器锁(GIL),限制了真正的并行性。尽管 Ruby 支持多线程,但并行性仍然受限。 Ruby 中的并发和并行处理包括多个层次: Process, Ractor, Threads and Fibers. 进程是并行的,Ractor 是一种实验性功能,允许在 Ruby 中实现真正的并行执行,具有内存隔离和消息传递的优点。线程则受 GIL 限制,无法实现真正的并行性。 通过示例代码,展示了 Ractor 和线程的使用,Ractor 可以有效利用 CPU 核心,而线程在 Ruby 中则是轻量级的,无法充分利用多核系统。
我有特别的 macOS 新机环境配置技巧
笔者通常不建议直接从旧设备迁移资料。迁移过程不仅可能会引入一些预料之外的 bug,还会连许多垃圾和临时文件一并复制过来。 大量 4K 随机读写也对 Wi-Fi 连接速率非常不友好,尤其是 Apple 设备一向不领先的无线性能。
这个原则其实不仅适用于 Mac,对于 Windows…