随笔分类 - c++
多线程编程(六)——条件变量(Condition Variable)
摘要:作者:StormZhu链接:https://www.jianshu.com/p/c1dfa1d40f53来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 互斥锁std::mutex是一种最常见的线程间同步的手段,但是在有些情况下不太高效。 假设想实现一个简单的消费者生产
阅读全文
C++11中多线程库
摘要:、Linux 线程API 线程是在操作系统层面支持的,所以多线程的学习建议还是先找一本linux系统编程类的书,了解linux提供线程的API,了解使用线程设计程序的基本操纵。完全使用系统调用编写多线程程序是痛苦,现在有很多封装好的多线程库,帮助简单快速的使用线程编程,了解操作系统提供的API对理解
阅读全文
C++11并发编程:原子操作atomic
摘要:一:概述 项目中经常用遇到多线程操作共享数据问题,常用的处理方式是对共享数据进行加锁,如果多线程操作共享变量也同样采用这种方式。 为什么要对共享变量加锁或使用原子操作?如两个线程操作同一变量过程中,一个线程执行过程中可能被内核临时挂起,这就是线程切换,当内核再次切换到该线程时,之前的数据可能已被修改
阅读全文
C++11并发编程:多线程std::thread
摘要:作者:蜗牛201出处:https://www.cnblogs.com/woniu201/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如果文中有什么错误,欢迎指出。以免更多的人被误导。 一:概述 C++11引入了thread类,大大降低了多线
阅读全文
C/C++刁钻问题各个击破之细说sizeof
摘要:原文链接:https://blog.csdn.net/w57w57w57/article/details/6626840 摘要: Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性: (0)si
阅读全文
C 语言实现面向对象编程
摘要:转载 https://blog.csdn.net/onlyshi/article/details/81672279 C 语言实现面向对象编程1、引言面向对象编程(OOP)并不是一种特定的语言或者工具,它只是一种设计方法、设计思想。它表现出来的三个最基本的特性就是封装、继承与多态。很多面向对象的编程语
阅读全文
malloc实现机制
摘要:使用过c语言的都知道malloc是一个动态分配内存的函数,还可以通过free释放内存空间。 如果我们想分析一下malloc的源码,这其实不是一会就能看懂的,但是我们可以讨论一下malloc的简单实现。 在这之前,我们先来看一下虚拟内存空间。 虚拟内存空间时操作系统实现内存管理的一种机制。操作系统为每
阅读全文
图说C++对象模型:对象内存布局详解
摘要:转载:http://www.cnblogs.com/QG-whz/p/4909359.html 图说C++对象模型:对象内存布局详解 阅读目录 0.前言 1.何为C++对象模型? 2.文章内容简介 3.理解虚函数表 3.1.多态与虚表 3.2.使用指针访问虚表 4.对象模型概述 4.1.简单对象模型
阅读全文