2 江南、董少

尚未进行身份认证

C/C++/Linux/网络编程/网络安全

等级
TA的排名 711

Linux(服务、软件管理):46---Ubuntu下VS Code的安装与配置

环境Ubuntu-16.04-adm64安装gcc、g++sudo apt-get install gccsudo apt-get install g++第一步:下载安装VS Code在火狐浏览器中下载VS code,网址为https://code.visualstudio.com/,选择.deb版本选择为保存文件的形式进入终端,输入下面的命令cd /h...

2020-04-02 13:47:55

Linux(muduo网络库):17---高效的多线程日志之(多线程异步日志、其他方案)

本文内容衔接于前一篇文章(日志概述、功能需求、性能需求):https://blog.csdn.net/qq_41453285/article/details/105091022一、多线程中的日志安全多线程程序对日志库提出了新的需求:线程安全。即多个线程可以并发写日志,两个线程的日志消息不会出现交织 线程安全不难办到, 简单的办法是: 用一个全局mutex保护IO 或者每个线程单独写一...

2020-03-25 20:05:29

Linux(muduo网络库):16---高效的多线程日志之(日志概述、功能需求、性能需求)

一、日志概述“日志(logging)”有两个意思: 诊断日志(diagnostic log):即log4j、logback、slf4j、glog、 g2log、log4cxx、log4cpp、log4cplus、Pantheios、ezlogger等常用日志库 提供的日志功能 交易日志(transaction log):即数据库的write-ahead log(http://en.wi...

2020-03-25 12:16:41

Linux(muduo网络库):15---C++多线程编程精要之(RAII与fork()、多线程与fork()、多线程与signal)

本文内容衔接于前一篇文章(多线程与IO、用RAII包装文件描述符):https://blog.csdn.net/qq_41453285/article/details/105056920

2020-03-25 08:45:59

Linux(muduo网络库):14---C++多线程编程精要之(多线程与IO、用RAII包装文件描述符)

本文内容衔接于前一篇文章(线程的创建与销毁的守则):https://blog.csdn.net/qq_41453285/article/details/105047683、总结本专题未完结,参阅下一篇文章(RAII与fork()、多线程与fork()、多线程与signal):https://blog.csdn.net/qq_41453285/article/details/105056...

2020-03-24 22:41:29

Linux(muduo网络库):13---C++多线程编程精要之(线程的创建与销毁的守则)

本文内容衔接于前一篇文章(C/C++系统库的线程安全性):https://blog.csdn.net/qq_41453285/article/details/105047602、总结本专题未完结,参阅下一篇文章():

2020-03-24 21:16:54

Linux(muduo网络库):12---C++多线程编程精要之(C/C++系统库的线程安全性)

本文内容衔接于前一篇文章(基本线程原语的选用、Linux上的线程标识、善用__thread关键字、Linux新增系统调用的启示):https://blog.csdn.net/qq_41453285/article/details/105019401一、C/C++的线程库原先的C/C++标准(C89/C99/C++03)并没有涉及线程,新版的C/C++标准(C11和C++11)规定了程序在多线...

2020-03-23 20:23:48

Linux(muduo网络库):11---C++多线程编程精要之(基本线程原语的选用、Linux上的线程标识、善用__thread关键字、Linux新增系统调用的启示)

一、基本线程原语的选用我认为用C/C++编写跨平台(只针对POSIX操作系统)的多线程程序不是普遍的需求,因此我们只谈现代Linux(2004年Linux 2.6内核发布之后,NPTL线程库)下的多线程编程 POSIX threads的函数有110多个, 真正常用的不过十几个。而且在C++程序中通常会有更为易用的wrapper,不会直接调用Pthreads函数。这11个最基本的Pthread...

2020-03-23 14:13:40

Linux(muduo网络库):10---多线程服务器之(“多线程服务器的适用场合”的例释与答疑)

本文内容衔接于前一篇文章(多线程服务器的适用场合):https://blog.csdn.net/qq_41453285/article/details/105005052

2020-03-21 22:30:15

Linux(muduo网络库):09---多线程服务器之(单线程、多线程服务器的适用场合)

本文内容衔接于前一篇文章(进程间通信只用TCP):https://blog.csdn.net/qq_41453285/article/details/104997453一、服务器开发概述“服务器开发”包罗万象,用一句话形容是:跑在多核机器上的Linux用户态的没有用户界面的长期运行(例如wget是不长期运行,httpd是长期运行的)的网络应用程序,通常是分布式系统的组成部件并发处理...

2020-03-21 14:09:30

Linux(muduo网络库):08---多线程服务器之(进程间通信只用TCP)

一、Linux下IPC、同步原语的种类Linux下进程间通信(IPC)的方式数不胜数,光《UNIX网络编程》列出的就有:匿名管道(pipe)、具名管道(FIFO)、POSIX消息队列、共享内存、信号(signals)等等,更不必说Sockets了 同步原语 (synchronization primitives)也很多,如互斥器(mutex)、条件变量 (condition variable...

2020-03-21 10:27:50

Linux(muduo网络库):07---多线程服务器之(单线程服务器、多线程服务器的常用编程模型)

一、进程与线程进程进程(process)”是操作里最重要的两个概念之一(另一个是文件),粗略地讲,一个进程是“内存中正在运行的程序” 每个进程有自己独立的地址空间(address space),“在同一个进程”还是“不在同一个进程”是系统功能划分的重要决策点。《Erlang程序设计》[ERL]把“进程”比喻为“人”,我觉得十分精当,为我们提供了一个思考的框架 每个人有自己的记忆(me...

2020-03-21 09:53:18

Linux(muduo网络库):06---线程同步精要之(借shared_ptr实现copy-on-write)

本文内容衔接于前一篇文章(线程安全的Singleton实现):https://blog.csdn.net/qq_41453285/article/details/104875213

2020-03-21 09:27:40

C++:67---iterator头文件中的迭代器(插入迭代器、流迭代器、反向迭代器、移动迭代器)

除了每个容器有自己的迭代器之外,标准库在头文件iterator中还定义了额外几种迭代器 这些迭代器包括: 插入迭代器(insert iterator):这些迭代器被绑定到一个容器上,可用来向容器插入元素 流迭代器(stream iterator):这些迭代器被绑定到输入或输出流上,可用来遍历所有关联的IO流 反向迭代器(reverse iterator):这些迭代器向后而不是向...

2020-03-20 11:05:43

C++(数据结构与算法)81:---复杂度的下限

一、最小最大问题的下限二、排序算法的下限

2020-03-19 12:20:44

C++(数据结构与算法)80:---分而治之解递归方程

一、解递归方程的方法解递归方程有若干技术:替代法、归纳法、特征根法和生成函数法 本节描述一种查表法,可以用来求解许多与分而治之算法有关的递归方程二、相关等式...

2020-03-19 12:20:39

C++(数据结构与算法)79:---分而治之应用之(残缺棋盘、归并排序、快速排序、选择问题、相距最近的点对)

待续

2020-03-19 12:20:27

Linux(muduo网络库):05---线程同步精要之(线程安全的Singleton实现)

本文内容衔接于前一篇文章(封装MutexLock、MutexLockGuard、Condition):https://blog.csdn.net/qq_41453285/article/details/104875213待续

2020-03-18 22:53:24

C++11:Range-Based for循环(基于范围的循环)

一、Range-Based for循环概述C++引入了一种崭新的for循环形式,可以逐一迭代某个给定的区间、数组、集合内的每一个元素。类似于其他编程语言的foreach循环二、基本格式decl是给定的coll集合中的每个元素的声明三、基本使用例如:int arr[]{ 1,2,3,4,5 };for (int i : arr) { std::cout <&...

2020-03-18 17:26:24

C++11:一致性初始化、初值列(initializer_list)

一、列表初始化/一致性初始化设计的目的: 在C++11之前,如何初始化一个变量或对象的概念比较混淆。初始化的场景可以发生在:小括号、大括号或赋值操作符中 C++11引入了“列表初始化/一致性初始化”,意思为:面对任何初始化动作,你可以使用相同语法,就是使用大括号 例如下面的都是正确的:int units_sold = 0;int units_sold = { 0 };in...

2020-03-18 16:24:58

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。