书接上回。昨天我写了一篇《这个限流库两个大bug存在了半年之久,没人发现?》,提到了Go语言中的time.Sleep函数的问题。有网友也私下和我探讨,提到这个可能属于系统的问题,因为现代的操作系统都是分时操作系统,每个线程可能会分配一个或者多个时间片,Windows默认线程时间精度在15毫秒,Linux在1毫秒,所以time.Sleep的精度不可能那么高。
本文原文有误导,结论部分正确,我在文章末尾作了更正
最近我的同事在使用uber-go/ratelimit这个限流库的时候,遇到了两个大bug。这两个bug都是在这个库的最新版本(v0.3.0)中存在的,而这个版本从7月初发布都已经过半年了,都没人提bug,难道大家都没遇到过么?
iptables 是 Linux 系统中的一个非常强大的防火墙工具,它可以用于过滤、修改、重定向和处理网络数据包。iptables 是基于 Netfilter 框架的,Netfilter 是 Linux 内核的一部分,它提供了在内核级别处理网络数据包的能力。
同步是多线程程序中的一个重要概念。在多线程环境下,多个线程可能同时访问某个共享资源,这就可能导致数据竞争或者数据不一致的问题。为了保证数据安全,需要进行同步操作。
常见的同步需求包括: