X平台(前身为Twitter)一项新的透明度功能显示,大量积极参与、亲特朗普的政治账号实际上由美国境外运营,这一发现与2016年俄罗斯干预选举的担忧相呼应。声称是美国“爱国者”并倡导“美国优先”政策的账号,被追踪到欧洲、亚洲、非洲等地。 X平台承认,一些差异可能是由于VPN的使用,但数量之多——包括像“MAGA NATION”这样从东欧运营的知名账号——表明这是一项协调一致的干预美国政治话语的行动。这与俄罗斯互联网研究机构在2016年使用的策略相似,该机构创建虚假身份以制造分裂并支持唐纳德·特朗普。 这些账号的来源多样,可能表明既有国家支持的行动,也有出于经济动机而利用政治极化牟利的人员。这一发现凸显了外国干预的持续威胁,并引发了对在线政治对话真实性的质疑,需要加强对社交媒体趋势的审查以及X平台在解决这一问题中的作用。
## std::Mutex vs. parking_lot::Mutex:深入分析与决策指南
团队考虑从 Rust 的标准 `std::sync::Mutex` 切换到 `parking_lot::Mutex`,从而引发了对两者性能差异的深入调查。 尽管初步搜索结果偏向 `parking_lot`,但作者希望更深入地理解,因此对两种实现方式进行了详细检查,并进行了大量的基准测试。
`std::Mutex` 使用平台特定的实现(通常是 Futex),并采用内核管理的队列,优先考虑吞吐量。 然而,在高度竞争的情况下,这可能导致线程饥饿。 另一方面,`parking_lot::Mutex` 在所有平台上使用单一算法和用户空间队列,优先考虑公平性和可预测性。 它通过更小的内存占用(始终为 1 字节)和公平定时器(防止无限期锁定)来实现这一点。
在各种场景下的基准测试表明,`std::Mutex` 在低到中等竞争和短临界区中表现出色。 然而,`parking_lot::Mutex` 在高竞争、突发工作负载以及存在潜在锁垄断的场景中表现出卓越的性能,提供更稳定的等待时间并防止线程饥饿。
**选择 `std::Mutex` 的时机:** 需要零依赖项,竞争较低,需要用于调试的毒化(poisoning),或平台特定优化至关重要。 **选择 `parking_lot::Mutex` 的时机:** 公平性至关重要,可预测的行为至关重要,内存占用很重要,或存在锁垄断的风险。
最终,选择取决于应用程序的特定需求——吞吐量与公平性和可预测性。