All Projects → downdemo → Cpp Concurrency In Action 2ed

downdemo / Cpp Concurrency In Action 2ed

Licence: apache-2.0
📚 C++ Concurrency in Action 2ed 笔记:C++11/14/17 多线程技术

Projects that are alternatives of or similar to Cpp Concurrency In Action 2ed

Operating Systems
'Operating System Concepts' - Solutions to exercises and projects
Stars: ✭ 76 (-78.53%)
Mutual labels:  multithreading, operating-systems
Moon
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script
Stars: ✭ 313 (-11.58%)
Mutual labels:  multithreading
MultiHttp
This is a high performance , very useful multi-curl tool written in php. 一个超级好用的并发CURL工具!!!(httpful,restful, concurrency)
Stars: ✭ 79 (-77.68%)
Mutual labels:  multithreading
Simpleator
Simpleator ("Simple-ator") is an innovative Windows-centric x64 user-mode application emulator that leverages several new features that were added in Windows 10 Spring Update (1803), also called "Redstone 4", with additional improvements that were made in Windows 10 October Update (1809), aka "Redstone 5".
Stars: ✭ 260 (-26.55%)
Mutual labels:  operating-systems
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-94.07%)
Mutual labels:  multithreading
Object threadsafe
We make any object thread-safe and std::shared_mutex 10 times faster to achieve the speed of lock-free algorithms on >85% reads
Stars: ✭ 280 (-20.9%)
Mutual labels:  multithreading
awesome-internals
A curated list of awesome resources and learning materials in the field of X internals
Stars: ✭ 78 (-77.97%)
Mutual labels:  operating-systems
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (-3.95%)
Mutual labels:  multithreading
Fast gicp
A collection of GICP-based fast point cloud registration algorithms
Stars: ✭ 307 (-13.28%)
Mutual labels:  multithreading
Pypette
Ridiculously simple flow controller for building complex pipelines
Stars: ✭ 258 (-27.12%)
Mutual labels:  multithreading
CPURasterizer
CPU Based Rasterizer Engine
Stars: ✭ 99 (-72.03%)
Mutual labels:  multithreading
myconcurrent
Java并发的系统性学习
Stars: ✭ 25 (-92.94%)
Mutual labels:  multithreading
Ndt omp
Multi-threaded and SSE friendly NDT algorithm
Stars: ✭ 291 (-17.8%)
Mutual labels:  multithreading
parallel-dfs-dag
A parallel implementation of DFS for Directed Acyclic Graphs (https://research.nvidia.com/publication/parallel-depth-first-search-directed-acyclic-graphs)
Stars: ✭ 29 (-91.81%)
Mutual labels:  multithreading
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+1224.01%)
Mutual labels:  operating-systems
multi object tracker
An optical flow and Kalman Filter based tracker
Stars: ✭ 31 (-91.24%)
Mutual labels:  multithreading
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-89.27%)
Mutual labels:  operating-systems
Rusty Hermit
RustyHermit - A Rust-based, lightweight unikernel
Stars: ✭ 268 (-24.29%)
Mutual labels:  operating-systems
Fbg
Lightweight C 2D graphics API agnostic library with parallelism support
Stars: ✭ 349 (-1.41%)
Mutual labels:  multithreading
Crypto Rl
Deep Reinforcement Learning toolkit: record and replay cryptocurrency limit order book data & train a DDQN agent
Stars: ✭ 328 (-7.34%)
Mutual labels:  multithreading

C++11 引入了 Boost 线程库作为标准线程库,作者 Anthony Williams 为介绍其特性,于 2012 年出版了 C++ Concurrency in Action 一书,并顺应 C++17 于 2019 年 2 月出版了第二版C++ Concurrency in Action 2ed 前五章介绍了 C++11 线程库 API 的基本用法,后六章从实践角度介绍了并发编程的设计思想,相比第一版多介绍了一些 C++17 特性,如 std::scoped_lockstd::shared_mutex,并多出一章(第十章)介绍 C++17 标准库并行算法。本书适合 C++ 多线程初学者,此为个人笔记,仅供参考,更详细内容见原书

相关链接

C++11线程库API

  1. 线程管理(Managing thread)
  2. 线程间共享数据(Sharing data between thread)
  3. 同步并发操作(Synchronizing concurrent operation)
  4. C++ 内存模型和基于原子类型的操作(The C++ memory model and operations on atomic type)

并发编程实践

  1. 基于锁的并发数据结构的设计(Designing lock-based concurrent data structure)
  2. 无锁并发数据结构的设计(Designing lock-free concurrent data structure)
  3. 并发代码的设计(Designing concurrent code)
  4. 高级线程管理(Advanced thread management)
  5. 并行算法(Parallel algorithm)
  6. 多线程应用的测试与调试(Testing and debugging multithreaded application)

原书目录

  1. 你好,C++ 中的并发世界!
  2. 线程管理
  3. 线程间共享数据
  4. 同步并发操作
  5. C++ 内存模型和基于原子类型的操作
  6. 基于锁的并发数据结构的设计
  7. 无锁并发数据结构的设计
  8. 并发代码的设计
  9. 高级线程管理
  10. 并行算法
  11. 多线程应用的测试与调试

标准库相关头文件

头文件 说明
<chrono> 时钟
<condition_variable> 条件变量
<atomic> 原子类型和原子操作
<future> 异步处理的结果
<mutex>
<ratio> 编译期有理数算数
<thread> 线程
<execution> 标准库算法执行策略

并发库对比

C++11 Thread

特性 API
thread std::thread
mutex std::mutexstd::lock_guardstd::unique_lock
condition variable std::condition_variablestd::condition_variable_any
atomic std::atomicstd::atomic_thread_fence
future std::futurestd::shared_future
interruption

Boost Thread

特性 API
thread boost::thread
mutex boost::mutexboost::lock_guardboost::unique_lock
condition variable boost::condition_variableboost::condition_variable_any
atomic
future boost::futureboost::shared_future
interruption thread::interrupt

POSIX Thread

特性 API
thread pthread_createpthread_detachpthread_join
mutex pthread_mutex_lock、pthread_mutex_unlock
condition variable pthread_cond_waitpthread_cond_signal
atomic
future
interruption pthread_cancel

Java Thread

特性 API
thread java.lang.Thread
mutex synchronized blocks
condition variable java.lang.Object.waitjava.lang.Object.notify
atomic volatile 变量、java.util.concurrent.atomic
future java.util.concurrent.Future
interruption java.lang.Thread.interrupt
线程安全的容器 java.util.concurrent 中的容器
线程池 java.util.concurrent.ThreadPoolExecutor
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].