̳ /忭 |
C++ αӶ ݵ ˾ƾ ü !C++ ü α ִ ǿ ȳ! å C++ ü ̷ Žϴ ̵. C++ ü ̾߱⸦ ڵ Բ ְ Ǯ, ̸ ̷а ְ ν ִ ȿ ŵ ̴. νĵǴ ü ٷ ŭ ذ Բ Ѵ.C++11 C++14 ̰ α ⺻ . C++17 ǥ ø ̺귯(STL) ˰ Ѵ. ٽ , STL ˰ κ γ Ǵ ȭ ִ. C++ ü ̾߱ ̴. C++20 Ȯ ǻó ڷƾ, Ʈ ȴ.
PART I _ 1CHAPTER 1 C++ ü 3C++11 C++14: 4 4Ƽ 5 7 ϱ 7̱ ʱȭ 7CppMem ȭ 7C++17: ǥ ø ̺귯 ˰ 8 å 8 ˰ 8C++20: ü ǻó 9ڰ Ʈ 9Ȯ ǻó 10ġ 庮 10ڷƾ 10Ʈ 10½ũ 11 11Ʈ Ƽ 11time ̺귯 12 12PART II _ 13CHAPTER 2 15 16 17 18ڰ 19IJ vs 19ڰ ÷ 22Ŭ ø std::atomic 27 ڰ 34ڰ 35ڰ Լ 36ȭ 39C++ 39 ϰ 41acquire-release øƽ 44std::memory_order_consume 53 øƽ 57 60 庮μ 60 60acquire release 63ڰ ȭ ȭ 65CHAPTER 3 Ƽ 71 72 72Ŭ 73μ 76 80 83ؽ 85 90 ʱȭ 100 106 108wait ۾ 帧 110 ¥ 112½ũ 112 ½ũ 113std::async 115std::packaged_task 120std::promise std::future 124CHAPTER 4 135 ϱ 136 ̱۽ 137 Ƽ 143 148 : 157̱ ʱȭ 158 Ȯ 159 160 ̾ ̱ 163std::once_flag յ std::call_once 166ڰ 167 ̱ ġ 170CppMem ȭ 171CppMem 172CppMem: ڰ 176CppMem: 180CppMem: ϰ ڰ 182CppMem: acquire-release øƽ ڰ 187CppMem: ڰ谡 ڰ 190CppMem: øƽ ڰ 192 194CHAPTER 5 ǥ ø ̺귯 ˰ 195 å 196˰ 198 ˰ 199Լ 203CHAPTER 6 ̷: C++20 205ڰ Ʈ 206 Ʈ 207Ȯ ǻó 208std::future 208std::async, std::packaged_task, std::promise 210 ǻó ϱ 210ġ 庮 213std::latch 214std::barrier 214std::flex_barrier 216ڷƾ 217ʷ Լ 218 221Ʈ 223ACI(D) 224ȭ ϰ ڰ 224transaction_safe ڵ transaction_unsafe ڵ 228½ũ 229fork join 229define_task_block define_task_block_restore_thread 231̽ 231ٷ 232PART III ȭ _ 233CHAPTER 7 235ABA 236 236Ӱ ABA 237 237ABA 238ذå 239ŷ 241α Һ 243 244¥ 246 Ŭ 246̴ 247 249 250CHAPTER 8 Ʈ Ƽ 251 252ڵ 252 ּȭ϶ 252⸦ ּȭ϶ 253 Ұ ϶ 253ùٸ ȭ ãƶ 253 ڵ м ϶ 254 ȭ ϶ 254 255ȭ volatile 255 α 256 α Ұ ϶ 256ڽŸ ȭ ϴ ϶ 256Ƽ 257 257 259 262ι̽ ǻó 265CHAPTER 9 time ̺귯 267 Ⱓ, Ŭ ȣۿ 268 269 Ķ ð 269ȿ ð Ѿ 271Ⱓ 272 274Ŭ 276Ȯ 277ũ 279ڱ ٸ 281 281پ ٸ 282CHAPTER 10 287ãƺ 295