A Multithreaded, Transaction-Based Locking Strategy for ContainersA Multithreaded, Transaction-Based Locking Strategy for Containers Bob Steagall CppCon 2020 K E W B C O M P U T I N GCopyright © 2020 Bob Steagall K E W B C O M P U T I N G Overview • Sharing a container STO-based solution • Summary CppCon 2020 - A Multi-threaded, Transaction-Based Locking Strategy for Containers 2Copyright © 2020 Bob Steagall K E W B C O M P U T I N G Sharing a Container • Sometimes a container is easier (?) than ever CppCon 2020 - A Multi-threaded, Transaction-Based Locking Strategy for Containers 3Copyright © 2020 Bob Steagall K E W B C O M P U T I N G Sharing a Container – Avoiding Race Conditions0 码力 | 142 页 | 474.78 KB | 6 月前3
Back To Basics Functionsusage of functions towards the end. https://images.rawpixel.com/image_800/cHJpdmF0ZS9sci9pbWFnZXMvd2Vic2l0ZS8yMDIyLTA1L2pvYjcxMC0wNTMuanBn.jpg 9Functions A familiar term -- perhaps from your math class0 码力 | 123 页 | 7.26 MB | 6 月前3
Delivering safe C++Guaranteed error-handling – or termination • Proper interaction with resource management (RAII) • Containers • No need to fiddle with arrays (and pointers) • Enable range checking • Algorithms • C++98: those caused problems that still lingerBenefits come from using C++ well • Use • RAII • const • Containers • Resource management pointers • Algorithms • Range-for • span • … • Avoid • Owning raw pointers tried • Many “at scale” (e.g., range-checked string, vector, and span) • But nowhere has all been integrated into a single system and systematically enforced • Much is influenced by work on the C++ core0 码力 | 74 页 | 2.72 MB | 6 月前3
From Your First Line of Code to Your Largest Repo: How Visual Studio Code Can Help You Develop More Efficiently in C++the Endless Sky Github Repo 4 What else is new in VS Code? – Dev Containers, Makefiles & More AgendaMicrosoft C++ Built on open source Runs anywhere you are Let’s solutions – WSL, tunneling, SSH, ... Code completion through IntelliSense But I want a fully integrated build system & debugging suite! Visual Studio has interesting features for you. Check out the executable scripts What if I’m working with multiple languages?Microsoft C++ Microsoft C++ Dev Containers, VS Code Profiles, and More What else is new in VS Code?Microsoft C++ Create a codespace from0 码力 | 31 页 | 2.76 MB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the Fly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Chapter 04 Containers 50 4.1 Linear Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . this language to the door of modernization. The extended features of all these new standards are integrated into the C++ language and infuse it with new vitality. C++ programmers who are still using traditional functionality similar to the multiple return values provided in other languages. In the chapter on containers, we will learn that C++11 has added a std::tuple container for constructing a tuple that encloses0 码力 | 92 页 | 1.79 MB | 1 年前3
C++20 STL Features: 1 Year of Development on GitHubAdamBucior) • Work in progress (mnatsuhara): • GH-37 P0784R7 Library Support For More constexpr Containers • GH-43 P0980R1 constexpr string • GH-45 P1004R2 constexpr vector 12constexpr In Everyday Programming tests/tr1 (legacy) • llvm-project submodule for libc++'s test suite • Uses Python and lit (LLVM Integrated Tester) • Linear history, squashed commits • Feature branches are uncommon • feature/spaceship 39Associative Erasure • std::erase_if() is linear time • Inspects the entire value_type • Associative containers have member .erase(key) • Inspects only the key, using the container's predicate • Ordered: "Logarithmic"0 码力 | 45 页 | 989.72 KB | 6 月前3
C++20 STL Features: 1 Year of Development on GitHubAdamBucior) • Work in progress (mnatsuhara): • GH-37 P0784R7 Library Support For More constexpr Containers • GH-43 P0980R1 constexpr string • GH-45 P1004R2 constexpr vector13 constexpr In Everyday Programming tests/tr1 (legacy) • llvm-project submodule for libc++'s test suite • Uses Python and lit (LLVM Integrated Tester) • Linear history, squashed commits • Feature branches are uncommon • feature/spaceship Associative Erasure • std::erase_if() is linear time • Inspects the entire value_type • Associative containers have member .erase(key) • Inspects only the key, using the container's predicate • Ordered: "Logarithmic"0 码力 | 45 页 | 702.09 KB | 6 月前3
Back to Basics Almost Always Vectorsequential data access. Improving cache locality, meaning accessing elements in sequence is faster than containers like std::list, which have non-contiguous memory. Amortized Constant-Time Growth: When adding compared to containers like std::list, where you’d need linear time to access an element at a specific position. 60Versatility Wide Standard Library Support: std::vector is fully integrated with the C++0 码力 | 62 页 | 4.86 MB | 6 月前3
C++ in the Developing World, Why it Mattersto hardware graphics capabilities require the use of C level constructs, but when wrapped in C++ containers, types, with the use of RAII Learning/Teaching C++ • Now that we have talked a little about the look into the past a little and Look into how computers worked in times past. Don’t Start with Integrated Development Environments • When Starting out it may be cheaper, and more effective to avoid relying0 码力 | 8 页 | 177.52 KB | 6 月前3
Embracing an Adversarial Mindset for Cpp SecurityULONG cbBusyContainers; ULONG rgClients[MAX_CLIENTS_DEFAULT]; ULONG rgContainers[MAX_CONTAINERS_DEFAULT]; ULONG cbSymbolZone; ULONG cbSector; USHORT bUnused; CLFS_LOG_STATE eLogState; rulesThird Party or Open Source Software ● If you must use OSS - Go for OSS that has fuzz testing integrated ● Ensure they have good code Maintenance ○ Check if security bugs are addressed in a timely manner0 码力 | 92 页 | 3.67 MB | 6 月前3
共 151 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
相关搜索词
MultithreadedTransactionBasedLockingStrategyforContainersBackToBasicsFunctionsDeliveringsafeC++FromYourFirstLineofCodetoLargestRepoHowVisualStudioCanHelpYouDevelopMoreEfficientlyinModernTutorial11141720OntheFlySTLFeaturesYearDevelopmentonGitHubAlmostAlwaysVectorDevelopingWorldWhyitMattersEmbracinganAdversarialMindsetCppSecurity













