文章
我发布的所有文章。
C++中的高级线程安全
更新于:简介 C++ 支持程序中的部分代码通过线程并发执行,在编写此类程序时,必须采取额外的步骤,确保线程之间共享的数据不会导致竞争条件。通常,竞争条件通过适当使用互斥锁和锁来避免。然而,…
探讨空间搜索算法——瞬间搜索数百万个点
更新于:在大规模处理和显示空间数据时,没有什么概念比空间索引(Spatial Index)更有用和重要。空间索引是一类算法,它们通过特定的方式组织几何数据,使搜索更加高效。例如,执行以下查…
WebGL Insights — Getting Serious with JavaScript(上)
更新于:WebGL相关的书籍并不多,《WebGL Insights》算是一本,其中各个章节都是由行业内资深的开发者们编写的。书中第四章的作者,Matthew Amato 和 Kevin R…
C++20:使用协程构建线程池
更新于:介绍 在本文中,我将尝试记录我实现一个简单线程池的经验。这个线程池基于 cppcoro 库的概念和思想。经过重新实现并简化到最基本的部分,以便理解协程的最重要方面。
原子操作 vs 非原子操作(译:Atomic vs. Non-Atomic Operations)
更新于:关于原子操作,网络上已经有很多文章讨论,通常聚焦于原子的读-修改-写(RMW)操作。然而,这并不是唯一的原子操作类型。还有原子的加载和存储操作,它们同样重要。原子读-修改-写操作(…
字符串视图
更新于:在某些较旧的 C++ 版本中,字符串处理可能会很麻烦。随着人们意识到 C++ 需要更强大的字符串处理能力,这一问题在 C++17 中得到了关注,并引入了 std::string_v…
WebGL Insights — Getting Serious with JavaScript(下)
更新于:4.3 性能 写关于 JavaScript 性能的文章是件棘手的事,因为它是一个不断变化的目标。浏览器实现会定期改进,目前运行缓慢的代码可能很快就会被优化。然而,即使在自更新浏览器…
Bran Zhang




