摘要:《C++ concurreny in action》 第五章 C++的内存模型和原子操作 5.1 Memory model basics (内在模型基础) Memory model 涉及两个方面:structural 和 concurrency structural 是基础,主要是对象的布局 5.1.1 Objects and memory location The C++ Standa...
阅读全文
摘要:唐风 www.cnblogs.com/liyiwen 《C++ concurreny in action》 第四章 Synchronizing concurrent operations 这一章主要讲C++11中的进行线程同步的方法 4.1 Waiting for an event or other condition 经常遇到的一种场景是一个线程A需要等待另一个线程B完成一些“事”(操作)才能往下运行继续处理。 有以下几种“办法” 一,设置一个多个线程都能访问到的变量,B线程一旦完成自己的操作,就把这个全局的变量设为某个值,而线程A则 不断地去检查变量的值是不是已经设置为这个...
阅读全文
摘要:作者:唐风 主页:www.cnblogs.com/liyiwen C++11已经问世两年了,各大编译器也都加紧跟进对C++11的特性和库的实现(这里有一份GCC,MSVC,CLANG的对C++11的支持情况表)。在我们还没有来得及消化新的C++的时候,C++标准委员会并没有停下。从C++11正式发布到今天,他们一直在为C++14(以及以后的C++17)努力工作着。4月20日,来自C++标准委员会的网站上的一篇新闻说,用于 C++14 的投票草案已经完成。这意味着 C++14的内容基本上要定型了,这其中包括: generic lambdas(泛型的lambda表达式,也就是...
阅读全文
摘要:唐风 www.cnblogs.com/liyiwen 《C++ concurreny in action》 第三章 sharing data between threads 3.1 线程间共享数据的“问题” invariants 被破坏(比如说一个读一个写) 3.1.1 race conditions 条件竞争是: In concurrency, a race condition is anything where the outcome depends on the relative ordering of execution of operations on two o...
阅读全文
摘要:第一章 Why use concurrency,There are two main reasons to use concurrency in an application: separation of con-cerns and performance.(这句写得很精辟:) 我:分离实现逻辑,然后使用“状态迁移表”这种消息驱动的方式,用在APP的设计上非常的方便。 什么时候不要使用con...
阅读全文
摘要:作者:唐风 主页:http://www.cnblogs.com/muxue C++11 语言核心的改进中,最为关注的有 rvalue reference (这里有一篇拙作),lambda,variadic template。rvalue 规则稍微复杂,但一旦理解和记住了,应用上就没有什么困难...
阅读全文