├── ActiveObject ├── CMakeLists.txt ├── README.md └── activeObject.cpp ├── CopiedValue ├── CMakeLists.txt ├── README.md └── copiedValueDataRace.cpp ├── EventLoop ├── AccessSerialization │ ├── CMakeLists.txt │ ├── event_loop.hpp │ ├── i_bank_account.hpp │ ├── main.cpp │ ├── thread_safe_account.hpp │ └── thread_unsafe_account.hpp ├── Basic │ ├── CMakeLists.txt │ ├── event_loop.hpp │ └── main.cpp └── EventHandlers │ ├── CMakeLists.txt │ ├── event_loop.hpp │ └── main.cpp ├── Future ├── CMakeLists.txt ├── README.md └── future.cpp ├── GuardedSuspension ├── CMakeLists.txt ├── README.md └── bossWorker.cpp ├── LICENSE ├── LockFree ├── AtomicSharedPointerStack │ ├── CMakeLists.txt │ └── main.cpp ├── AtomicSmartPointerStack │ ├── CMakeLists.txt │ └── main.cpp ├── Benchmark │ ├── CMakeLists.txt │ └── main.cpp ├── CompleteStack │ ├── CMakeLists.txt │ └── main.cpp ├── HazardPointerStack │ ├── CMakeLists.txt │ └── main.cpp ├── README.md ├── SPSCQueue │ ├── CMakeLists.txt │ └── main.cpp └── SimpleStack │ ├── CMakeLists.txt │ └── main.cpp ├── MonitorObject ├── Cpp11 │ ├── CMakeLists.txt │ └── monitorObject.cpp ├── Cpp20 │ ├── CMakeLists.txt │ └── monitorObjectCpp20.cpp └── README.md ├── OpenMP ├── Cancellation │ ├── CMakeLists.txt │ └── main.cpp ├── CriticalSection │ ├── CMakeLists.txt │ └── main.cpp ├── ForLoop │ ├── CMakeLists.txt │ └── main.cpp ├── Historgram │ ├── CMakeLists.txt │ └── main.cpp ├── PrivateVariables │ ├── CMakeLists.txt │ └── main.cpp ├── README.md ├── Reduction │ ├── CMakeLists.txt │ └── main.cpp ├── ReductionJoin │ ├── CMakeLists.txt │ └── main.cpp ├── ReductionSum │ ├── CMakeLists.txt │ └── main.cpp ├── Reductions │ ├── CMakeLists.txt │ └── main.cpp ├── Task │ ├── CMakeLists.txt │ └── main.cpp └── ThreadNum │ ├── CMakeLists.txt │ └── main.cpp ├── ProducerConsumer ├── README.md ├── first_readers_writers │ ├── CMakeLists.txt │ └── main.cpp ├── mpsc_queue_test │ ├── CMakeLists.txt │ ├── README.md │ ├── mpsc_queue.h │ └── mpsc_queue_test.cpp ├── producer_consumer_bounded_buffer │ ├── CMakeLists.txt │ └── main.cpp ├── producer_consumer_channel │ ├── CMakeLists.txt │ ├── channel.hpp │ ├── channel.tpp │ ├── main.cpp │ ├── selector.cpp │ └── selector.hpp ├── producer_consumer_channel_2 │ ├── CMakeLists.txt │ ├── blocking_iterator.hpp │ ├── channel.hpp │ ├── channel.inl │ └── main.cpp ├── producer_consumer_monitor │ ├── CMakeLists.txt │ └── main.cpp ├── producer_consumer_single │ ├── CMakeLists.txt │ └── main.cpp ├── producer_consumer_single_c │ ├── CMakeLists.txt │ └── main.c ├── second_readers_writers │ ├── CMakeLists.txt │ └── main.cpp ├── second_readers_writers_c │ ├── CMakeLists.txt │ └── main.c ├── simplest_readers_writers │ ├── CMakeLists.txt │ └── main.cpp ├── spsc_daugaard │ ├── v1 │ │ ├── CMakeLists.txt │ │ ├── RingBuffer_v1.hpp │ │ └── main.cpp │ ├── v2 │ │ ├── CMakeLists.txt │ │ ├── RingBuffer_v2.hpp │ │ ├── main.cpp │ │ └── sema.h │ └── v2_std_semaphore │ │ ├── CMakeLists.txt │ │ ├── RingBuffer_v2.hpp │ │ └── main.cpp └── third_readers_writers │ ├── CMakeLists.txt │ └── main.cpp ├── README.md ├── Reactor ├── Cpp11 │ ├── CMakeLists.txt │ ├── README.md │ └── reactor.cpp ├── Cpp11queue │ ├── CMakeLists.txt │ ├── README.md │ └── reactor.cpp ├── Cpp98 │ ├── CMakeLists.txt │ ├── ClientHandler.cpp │ ├── ClientHandler.h │ ├── Dispatcher.cpp │ ├── Dispatcher.h │ ├── EpollPoller.cpp │ ├── EpollPoller.h │ ├── EventHandler.h │ ├── ListenHandler.cpp │ ├── ListenHandler.h │ ├── Poller.h │ ├── README.md │ ├── main.cpp │ └── main_client.cpp ├── Poco │ ├── CMakeLists.txt │ └── main.cpp ├── README.md └── reactor.svg ├── ScopedLocking ├── CMakeLists.txt ├── README.md └── scopedLock.cpp ├── SeqLock ├── README.md ├── seqlock_emulator │ ├── CMakeLists.txt │ ├── Seqlock.hpp │ ├── main.cpp │ └── test.cpp ├── seqlock_mutex_emulator │ ├── CMakeLists.txt │ ├── Seqlock.hpp │ ├── main.cpp │ └── test.cpp ├── seqlock_naive │ ├── CMakeLists.txt │ ├── Seqlock.hpp │ ├── main.cpp │ └── test.cpp ├── seqlock_posix_emulator │ ├── CMakeLists.txt │ ├── Seqlock.hpp │ ├── main.cpp │ └── test.cpp ├── seqlock_rigtorp │ ├── CMakeLists.txt │ ├── main.cpp │ ├── rigtorp │ │ └── Seqlock.hpp │ └── test.cpp └── seqlock_spinlock │ ├── CMakeLists.txt │ ├── Seqlock.hpp │ ├── SpinLock.cpp │ ├── SpinLock.hpp │ ├── main.cpp │ └── test.cpp ├── Spinlock ├── README.md ├── audio_spin_mutex │ ├── CMakeLists.txt │ └── main.cpp ├── benchmarks │ ├── CMakeLists.txt │ ├── README.md │ ├── conanfile.txt │ └── main.cpp ├── spinlock_atomic_bool │ ├── CMakeLists.txt │ └── main.cpp ├── spinlock_atomic_flag │ ├── CMakeLists.txt │ └── main.cpp ├── spinlock_atomic_flag_c │ ├── CMakeLists.txt │ └── main.c └── spinlock_posix_c │ ├── CMakeLists.txt │ └── main.c ├── StrategizedLocking ├── Concepts │ ├── CMakeLists.txt │ └── strategizedLockingCompileTimeWithConcepts.cpp ├── README.md └── Runtime │ ├── CMakeLists.txt │ └── strategizedLockingRuntime.cpp ├── ThreadSafeInterface ├── CMakeLists.txt ├── README.md └── threadSafeInterface.cpp └── ThreadSpecificStorage ├── CMakeLists.txt ├── README.md └── threadLocalSummation.cpp /ActiveObject/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ActiveObject/CMakeLists.txt -------------------------------------------------------------------------------- /ActiveObject/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ActiveObject/README.md -------------------------------------------------------------------------------- /ActiveObject/activeObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ActiveObject/activeObject.cpp -------------------------------------------------------------------------------- /CopiedValue/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/CopiedValue/CMakeLists.txt -------------------------------------------------------------------------------- /CopiedValue/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/CopiedValue/README.md -------------------------------------------------------------------------------- /CopiedValue/copiedValueDataRace.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/CopiedValue/copiedValueDataRace.cpp -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/CMakeLists.txt -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/event_loop.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/event_loop.hpp -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/i_bank_account.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/i_bank_account.hpp -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/main.cpp -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/thread_safe_account.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/thread_safe_account.hpp -------------------------------------------------------------------------------- /EventLoop/AccessSerialization/thread_unsafe_account.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/AccessSerialization/thread_unsafe_account.hpp -------------------------------------------------------------------------------- /EventLoop/Basic/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/Basic/CMakeLists.txt -------------------------------------------------------------------------------- /EventLoop/Basic/event_loop.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/Basic/event_loop.hpp -------------------------------------------------------------------------------- /EventLoop/Basic/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/Basic/main.cpp -------------------------------------------------------------------------------- /EventLoop/EventHandlers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/EventHandlers/CMakeLists.txt -------------------------------------------------------------------------------- /EventLoop/EventHandlers/event_loop.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/EventHandlers/event_loop.hpp -------------------------------------------------------------------------------- /EventLoop/EventHandlers/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/EventLoop/EventHandlers/main.cpp -------------------------------------------------------------------------------- /Future/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Future/CMakeLists.txt -------------------------------------------------------------------------------- /Future/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Future/README.md -------------------------------------------------------------------------------- /Future/future.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Future/future.cpp -------------------------------------------------------------------------------- /GuardedSuspension/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/GuardedSuspension/CMakeLists.txt -------------------------------------------------------------------------------- /GuardedSuspension/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/GuardedSuspension/README.md -------------------------------------------------------------------------------- /GuardedSuspension/bossWorker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/GuardedSuspension/bossWorker.cpp -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LICENSE -------------------------------------------------------------------------------- /LockFree/AtomicSharedPointerStack/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/AtomicSharedPointerStack/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/AtomicSharedPointerStack/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/AtomicSharedPointerStack/main.cpp -------------------------------------------------------------------------------- /LockFree/AtomicSmartPointerStack/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/AtomicSmartPointerStack/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/AtomicSmartPointerStack/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/AtomicSmartPointerStack/main.cpp -------------------------------------------------------------------------------- /LockFree/Benchmark/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/Benchmark/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/Benchmark/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/Benchmark/main.cpp -------------------------------------------------------------------------------- /LockFree/CompleteStack/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/CompleteStack/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/CompleteStack/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/CompleteStack/main.cpp -------------------------------------------------------------------------------- /LockFree/HazardPointerStack/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/HazardPointerStack/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/HazardPointerStack/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/HazardPointerStack/main.cpp -------------------------------------------------------------------------------- /LockFree/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/README.md -------------------------------------------------------------------------------- /LockFree/SPSCQueue/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/SPSCQueue/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/SPSCQueue/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/SPSCQueue/main.cpp -------------------------------------------------------------------------------- /LockFree/SimpleStack/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/SimpleStack/CMakeLists.txt -------------------------------------------------------------------------------- /LockFree/SimpleStack/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/LockFree/SimpleStack/main.cpp -------------------------------------------------------------------------------- /MonitorObject/Cpp11/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/MonitorObject/Cpp11/CMakeLists.txt -------------------------------------------------------------------------------- /MonitorObject/Cpp11/monitorObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/MonitorObject/Cpp11/monitorObject.cpp -------------------------------------------------------------------------------- /MonitorObject/Cpp20/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/MonitorObject/Cpp20/CMakeLists.txt -------------------------------------------------------------------------------- /MonitorObject/Cpp20/monitorObjectCpp20.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/MonitorObject/Cpp20/monitorObjectCpp20.cpp -------------------------------------------------------------------------------- /MonitorObject/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/MonitorObject/README.md -------------------------------------------------------------------------------- /OpenMP/Cancellation/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Cancellation/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/Cancellation/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Cancellation/main.cpp -------------------------------------------------------------------------------- /OpenMP/CriticalSection/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/CriticalSection/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/CriticalSection/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/CriticalSection/main.cpp -------------------------------------------------------------------------------- /OpenMP/ForLoop/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ForLoop/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/ForLoop/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ForLoop/main.cpp -------------------------------------------------------------------------------- /OpenMP/Historgram/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Historgram/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/Historgram/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Historgram/main.cpp -------------------------------------------------------------------------------- /OpenMP/PrivateVariables/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/PrivateVariables/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/PrivateVariables/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/PrivateVariables/main.cpp -------------------------------------------------------------------------------- /OpenMP/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/README.md -------------------------------------------------------------------------------- /OpenMP/Reduction/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Reduction/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/Reduction/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Reduction/main.cpp -------------------------------------------------------------------------------- /OpenMP/ReductionJoin/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ReductionJoin/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/ReductionJoin/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ReductionJoin/main.cpp -------------------------------------------------------------------------------- /OpenMP/ReductionSum/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ReductionSum/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/ReductionSum/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ReductionSum/main.cpp -------------------------------------------------------------------------------- /OpenMP/Reductions/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Reductions/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/Reductions/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Reductions/main.cpp -------------------------------------------------------------------------------- /OpenMP/Task/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Task/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/Task/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/Task/main.cpp -------------------------------------------------------------------------------- /OpenMP/ThreadNum/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ThreadNum/CMakeLists.txt -------------------------------------------------------------------------------- /OpenMP/ThreadNum/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/OpenMP/ThreadNum/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/README.md -------------------------------------------------------------------------------- /ProducerConsumer/first_readers_writers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/first_readers_writers/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/first_readers_writers/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/first_readers_writers/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/mpsc_queue_test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/mpsc_queue_test/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/mpsc_queue_test/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/mpsc_queue_test/README.md -------------------------------------------------------------------------------- /ProducerConsumer/mpsc_queue_test/mpsc_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/mpsc_queue_test/mpsc_queue.h -------------------------------------------------------------------------------- /ProducerConsumer/mpsc_queue_test/mpsc_queue_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/mpsc_queue_test/mpsc_queue_test.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_bounded_buffer/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_bounded_buffer/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_bounded_buffer/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_bounded_buffer/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/channel.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/channel.hpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/channel.tpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/channel.tpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/selector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/selector.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel/selector.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel/selector.hpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel_2/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel_2/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel_2/blocking_iterator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel_2/blocking_iterator.hpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel_2/channel.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel_2/channel.hpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel_2/channel.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel_2/channel.inl -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_channel_2/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_channel_2/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_monitor/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_monitor/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_monitor/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_monitor/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_single/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_single/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_single/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_single/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_single_c/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_single_c/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/producer_consumer_single_c/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/producer_consumer_single_c/main.c -------------------------------------------------------------------------------- /ProducerConsumer/second_readers_writers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/second_readers_writers/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/second_readers_writers/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/second_readers_writers/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/second_readers_writers_c/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/second_readers_writers_c/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/second_readers_writers_c/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/second_readers_writers_c/main.c -------------------------------------------------------------------------------- /ProducerConsumer/simplest_readers_writers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/simplest_readers_writers/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/simplest_readers_writers/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/simplest_readers_writers/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v1/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v1/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v1/RingBuffer_v1.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v1/RingBuffer_v1.hpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v1/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v1/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2/RingBuffer_v2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2/RingBuffer_v2.hpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2/sema.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2/sema.h -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2_std_semaphore/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2_std_semaphore/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2_std_semaphore/RingBuffer_v2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2_std_semaphore/RingBuffer_v2.hpp -------------------------------------------------------------------------------- /ProducerConsumer/spsc_daugaard/v2_std_semaphore/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/spsc_daugaard/v2_std_semaphore/main.cpp -------------------------------------------------------------------------------- /ProducerConsumer/third_readers_writers/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/third_readers_writers/CMakeLists.txt -------------------------------------------------------------------------------- /ProducerConsumer/third_readers_writers/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ProducerConsumer/third_readers_writers/main.cpp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/README.md -------------------------------------------------------------------------------- /Reactor/Cpp11/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11/CMakeLists.txt -------------------------------------------------------------------------------- /Reactor/Cpp11/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11/README.md -------------------------------------------------------------------------------- /Reactor/Cpp11/reactor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11/reactor.cpp -------------------------------------------------------------------------------- /Reactor/Cpp11queue/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11queue/CMakeLists.txt -------------------------------------------------------------------------------- /Reactor/Cpp11queue/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11queue/README.md -------------------------------------------------------------------------------- /Reactor/Cpp11queue/reactor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp11queue/reactor.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/CMakeLists.txt -------------------------------------------------------------------------------- /Reactor/Cpp98/ClientHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/ClientHandler.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/ClientHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/ClientHandler.h -------------------------------------------------------------------------------- /Reactor/Cpp98/Dispatcher.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/Dispatcher.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/Dispatcher.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/Dispatcher.h -------------------------------------------------------------------------------- /Reactor/Cpp98/EpollPoller.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/EpollPoller.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/EpollPoller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/EpollPoller.h -------------------------------------------------------------------------------- /Reactor/Cpp98/EventHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/EventHandler.h -------------------------------------------------------------------------------- /Reactor/Cpp98/ListenHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/ListenHandler.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/ListenHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/ListenHandler.h -------------------------------------------------------------------------------- /Reactor/Cpp98/Poller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/Poller.h -------------------------------------------------------------------------------- /Reactor/Cpp98/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/README.md -------------------------------------------------------------------------------- /Reactor/Cpp98/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/main.cpp -------------------------------------------------------------------------------- /Reactor/Cpp98/main_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Cpp98/main_client.cpp -------------------------------------------------------------------------------- /Reactor/Poco/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Poco/CMakeLists.txt -------------------------------------------------------------------------------- /Reactor/Poco/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/Poco/main.cpp -------------------------------------------------------------------------------- /Reactor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/README.md -------------------------------------------------------------------------------- /Reactor/reactor.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Reactor/reactor.svg -------------------------------------------------------------------------------- /ScopedLocking/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ScopedLocking/CMakeLists.txt -------------------------------------------------------------------------------- /ScopedLocking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ScopedLocking/README.md -------------------------------------------------------------------------------- /ScopedLocking/scopedLock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ScopedLocking/scopedLock.cpp -------------------------------------------------------------------------------- /SeqLock/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/README.md -------------------------------------------------------------------------------- /SeqLock/seqlock_emulator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_emulator/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_emulator/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_emulator/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_emulator/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_emulator/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_emulator/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_emulator/test.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_mutex_emulator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_mutex_emulator/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_mutex_emulator/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_mutex_emulator/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_mutex_emulator/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_mutex_emulator/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_mutex_emulator/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_mutex_emulator/test.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_naive/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_naive/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_naive/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_naive/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_naive/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_naive/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_naive/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_naive/test.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_posix_emulator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_posix_emulator/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_posix_emulator/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_posix_emulator/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_posix_emulator/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_posix_emulator/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_posix_emulator/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_posix_emulator/test.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_rigtorp/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_rigtorp/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_rigtorp/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_rigtorp/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_rigtorp/rigtorp/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_rigtorp/rigtorp/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_rigtorp/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_rigtorp/test.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/CMakeLists.txt -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/Seqlock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/Seqlock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/SpinLock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/SpinLock.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/SpinLock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/SpinLock.hpp -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/main.cpp -------------------------------------------------------------------------------- /SeqLock/seqlock_spinlock/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/SeqLock/seqlock_spinlock/test.cpp -------------------------------------------------------------------------------- /Spinlock/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/README.md -------------------------------------------------------------------------------- /Spinlock/audio_spin_mutex/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/audio_spin_mutex/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/audio_spin_mutex/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/audio_spin_mutex/main.cpp -------------------------------------------------------------------------------- /Spinlock/benchmarks/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/benchmarks/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/benchmarks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/benchmarks/README.md -------------------------------------------------------------------------------- /Spinlock/benchmarks/conanfile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/benchmarks/conanfile.txt -------------------------------------------------------------------------------- /Spinlock/benchmarks/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/benchmarks/main.cpp -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_bool/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_bool/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_bool/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_bool/main.cpp -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_flag/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_flag/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_flag/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_flag/main.cpp -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_flag_c/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_flag_c/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/spinlock_atomic_flag_c/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_atomic_flag_c/main.c -------------------------------------------------------------------------------- /Spinlock/spinlock_posix_c/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_posix_c/CMakeLists.txt -------------------------------------------------------------------------------- /Spinlock/spinlock_posix_c/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/Spinlock/spinlock_posix_c/main.c -------------------------------------------------------------------------------- /StrategizedLocking/Concepts/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/StrategizedLocking/Concepts/CMakeLists.txt -------------------------------------------------------------------------------- /StrategizedLocking/Concepts/strategizedLockingCompileTimeWithConcepts.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/StrategizedLocking/Concepts/strategizedLockingCompileTimeWithConcepts.cpp -------------------------------------------------------------------------------- /StrategizedLocking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/StrategizedLocking/README.md -------------------------------------------------------------------------------- /StrategizedLocking/Runtime/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/StrategizedLocking/Runtime/CMakeLists.txt -------------------------------------------------------------------------------- /StrategizedLocking/Runtime/strategizedLockingRuntime.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/StrategizedLocking/Runtime/strategizedLockingRuntime.cpp -------------------------------------------------------------------------------- /ThreadSafeInterface/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSafeInterface/CMakeLists.txt -------------------------------------------------------------------------------- /ThreadSafeInterface/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSafeInterface/README.md -------------------------------------------------------------------------------- /ThreadSafeInterface/threadSafeInterface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSafeInterface/threadSafeInterface.cpp -------------------------------------------------------------------------------- /ThreadSpecificStorage/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSpecificStorage/CMakeLists.txt -------------------------------------------------------------------------------- /ThreadSpecificStorage/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSpecificStorage/README.md -------------------------------------------------------------------------------- /ThreadSpecificStorage/threadLocalSummation.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladiant/CppConcurrencyPatterns/HEAD/ThreadSpecificStorage/threadLocalSummation.cpp --------------------------------------------------------------------------------