简介 C++ 支持程序中的部分代码通过线程并发执行,在编写此类程序时,必须采取额外的步骤,确保线程之间共享的数据不会导致竞争条件。通常,竞争条件通过适当使用互斥锁和锁来避免。然而,…
C++
介绍 WebAssembly JavaScript Promise 集成 API(译:Introducing the WebAssembly JavaScript Promise Integration API)
一些 WebAssembly 应用程序在开发时,默认外部以同步的方式访问自身。在 JavaScript Promise 集成 (JSPI) API 的帮助下,使得 WebAssem…
V8 引擎中 C++ 和 JS 的交互
在 V8 引擎中,JavaScript 和 C++ 之间的交互涉及了 JavaScript 对象与 C++ 对象的映射,内存管理,以及函数调用的桥接等。本文主要参照 V8 的代码,…
WebAssembly 学习笔记
WebAssembly(简称 WASM)是一种以安全有效的方式运行可移植程序的新兴 Web 技术,下面是引用 MDN 上对它的定义: WebAssembly 是一种新的编码方式,可…
C++ 如何解析函数调用(译:How C++ Resolves a Function Call)
C 是一种简单的语言,每个函数名称只能对应一个函数。另一方面,C++ 提供了更大的灵活性:
理解 C++ 右值引用和 std::move
C++ 右值引用(rvalue references)和 std::move 是 C++11 引入的两项关键特性,它们极大地改善了 C++ 中的资源管理,尤其是与 移动语义(mov…
原子操作 vs 非原子操作(译:Atomic vs. Non-Atomic Operations)
关于原子操作,网络上已经有很多文章讨论,通常聚焦于原子的读-修改-写(RMW)操作。然而,这并不是唯一的原子操作类型。还有原子的加载和存储操作,它们同样重要。原子读-修改-写操作(…
C++20:使用协程构建线程池
介绍 在本文中,我将尝试记录我实现一个简单线程池的经验。这个线程池基于 cppcoro 库的概念和思想。经过重新实现并简化到最基本的部分,以便理解协程的最重要方面。
C++ 11 线程、锁和条件变量(译:C++11 Threads, Locks and Condition Variables)
这篇文章是关于C++11对线程和同步机制(互斥锁和条件变量)支持的详细讲解。
学习笔记——C++并发编程
书目 大纲 下方为 xmind 脑图的线上分享,如果没加载出来需要等一会会。