1、https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html C++中voliate关键字,多线程共享变量用voliate修饰,因为有时候编译器优化,我们取值直接从寄存器中拿来,但是寄存器和内存中这个数据可能不一样,具体例子可以看链接中,所有加voliate修饰,保证每次都是从内存中拿和放。

2、weak_ptr不仅仅可以解决循环引用的问题,现在给你一个实际场景:
全局数组里面的指针指向的数据不知道是否还存在,我们不能拿来直接判是不是null(如果原来的没有了,被替换成别的了),这时候可以用智能指针,原来的数据用shared_ptr指向,weak_ptr记录,当我们处理数组的时候,这个weak_ptr的cnt=0就说明被销毁了,我们删掉,如果没有就weak_ptr.lock再拿来用。

3、可重入锁和不可重入锁的设计思想不同,可重入锁侧重一个线程占用一个锁,在单个线程内这个锁是安全的。不可重入,在单个线程内也只能被占用一次,实现原理就是添加了一个计数。 标志下现在的占用线程,记录下线程占用计数,当占用数为0的时候才可以被其他线程所占用。

4、shared_ptr的安全级别和string等标准库一致,多个线程可同时读,读写就要要加锁。
当发生读写的时候我们还是加上互斥锁(最简单的锁)吧。

智能指针不需要我们定义虚析构了,因为指针存了两个东西,这个对象的引用,还有指向的指针,销毁时会同时释放,可以查看源码。

5、

陈硕多线程服务器编程--持续更新相关推荐

  1. 陈硕《网络编程实战》00 前言

    陈硕<网络编程实战> 第 00 课 前言 站在巨人的肩膀之上,还要抓牢,不要掉下去.    按照录像整理,版权归陈硕大神. 作者简介: 陈硕,北京师范大学硕士,擅长 C++ 多线程网络编程 ...

  2. 陈硕《网络编程实战》 84 课程总结 【草稿】

    陈硕<网络编程实战> 84 课程总结 [草稿] 站在巨人的肩膀之上. 按照录像整理,版权归陈硕大神. 我们这门课程呢,今天就是最后一讲,已经讲完了. 那我们再做一点小结,整理一下这个思路: ...

  3. 陈硕《网络编程实战》01 网络编程概要

    陈硕<网络编程实战> 01 网络编程概要 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 大家好,我是陈硕,受邀讲授一门有关网络编程的在线课程,这门课程的名称是 ...

  4. 陈硕《网络编程实战》目录

    陈硕<网络编程实战>目录 00.前言 01.网络编程概要.mkv 02.一个TCP的简单实验.mkv 03.课程内容大纲.mkv 04.回顾基础的Sockets API.mkv 05.TT ...

  5. 陈硕《网络编程实战》03 课程内容大纲【稿】

    陈硕<网络编程实战> 03 课程内容大纲[稿] 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 我们对TCP的基本性能有了一个大致的了解,用这个简单的dd.Ne ...

  6. 陈硕《网络编程实战》 02 一个TCP的简单实验

    [稿] 陈硕<网络编程实战> 02 一个TCP的简单实验 站在巨人的肩膀之上. 按照录像整理,部分专有名词不太肯定,版权归陈硕大神. 实验用的是我家里的几台计算机,第一台的主机名叫atom ...

  7. linux多线程服务器编程 豆瓣,陈硕的Blog

    陈硕(giantchen_AT_gmail_DOT_com) 2012-01-28 我在<Linux 多线程服务端编程:使用 muduo C++ 网络库>第 1.9 节"再论 s ...

  8. linux 应用编程(持续更新)

    在嵌入式 Linux 系统中,我们编写的应用程序通常需要与硬件设备进行交互 Tips:本篇将以正点原子 ALPHA/Mini I.MX6U 开发板开发板出厂系统进行测试 进程间通信 管道 FIFO 信 ...

  9. 程序员编程艺术第一 十章集锦与总结 教你如何编程 持续更新中

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...

最新文章

  1. [教程]JS从糊涂到明白:一步一步编写计算器3 – 功能扩展
  2. iOS开发 开发者证书申请及上架流程
  3. 02.centos6.4找不到ifcfg-eth0(静态ip配置)
  4. Linux课程笔记 Crond介绍
  5. 引导linux的工具下载,多系统引导工具(BootThink)下载_多系统引导工具(BootThink)官方下载-太平洋下载中心...
  6. 【386天】跃迁之路——程序员高效学习方法论探索系列(实验阶段143-2018.02.26)...
  7. Java语言String字符串课后作业
  8. webpack使用七
  9. SaaSpace:11个免费建筑信息建模软件工具
  10. android studio abc_list_selector_disabled_holo_light.9.png报错
  11. 大前研一,柳井正《放胆去闯》读书笔记
  12. 苹果11触屏不灵敏_苹果iPhone11Pro屏幕失灵怎么办
  13. c语言使用scanf_s输入时,保存的内容是中文乱码的解决方案
  14. 【DevOps】总结下容器方式构建Grafana-reporter生成PDF格式报告
  15. 硕士毕业论文讨论部分怎么写啊?
  16. mm7 彩信发送方法
  17. HTML form表单添加enctype属性后获取不到input值
  18. 2021年汽车半导体行业研究报告
  19. 超好用的Redis管理及监控工具
  20. 2021-09-13项目部署

热门文章

  1. px是什么意思计算机二级,px是什么
  2. kali linux渗透攻击基于漏洞工具Metasploit
  3. js blod下载文件
  4. GPS应用注意事项(摘中国3S人才网)
  5. Python基础—Py字符编码
  6. 杰米斯·哈萨比斯:创造性和直觉很重要
  7. java中Statement详细用法。
  8. WinXP优化 全面消除操作系统的复制乱码(转)
  9. 计算机组成原理之 原码 补码 反码
  10. BI报表工具: datagear、davinci、cboard、JimuReprot、ureport2