自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 UNIX下IPC进程间通信方式总结与特性比较

unix环境下的IPC方式可以分为以下四大类:消息传递:管道,FIFO,Posix消息队列、System V消息队列;同步:互斥锁、条件变量、读写锁、Posix有名信号量、Posix无名(基于内存)信号量、System V信号量;共享内存:内存映射、Posix共享内存、System V共享内存;远程调用:RPC、套接字;Posix & System V历史上,System V 和BSD曾被看作是UNIX系统实现的两种风格,但后续又出现了与之并行的Linux等系统实现。POSIX是一

2020-08-13 22:25:49 215

原创 c++编程风格总结

本文基于“Google 开源项目风格指南”整理1 头文件尽可能地避免使用前置声明。使用 #include 包含需要的头文件;避免使用快捷路径 ./ 或 …/,使用完整路径;头文件包含顺序:源文件xxx.cpp对应的xxx.hC 系统文件C++ 系统文件其他库的 .h 文件本项目内 .h 文件可以在 #include 中插入空行以分割相关头文件头文件包含顺序:...

2020-08-04 21:59:20 272

原创 c++中的scope_exit思想

类似于RAII的思想,当退出作用域的时候自动执行相应的操作。C++11中用scope_exit思想实现一个资源自动管理模板这篇中std::bind()的作用:避免了对所有的参数进行保存,通过函数对象本身就可以携带状态来处理函数的参数。C++ Scope Exit...

2020-05-30 18:18:52 841

原创 vscode修改默认配色方案

一直以来习惯于sublime下的默认配色Monokai,转投vscode后,发现vscode里虽然也有Monokai配色方案,但总感觉看着怪怪的,尤其是命名空间、类名下的下划线让人十分难受,看得眼花缭乱。配色方案配置文件存放位置vscode的配色配置文件存放在安装目录下 \resources\app\extensions\ 文件夹中,以theme开头的即是,其中能找到每个配色方案的json配置文件。{ "type": "dark", "colors": { "dropdown.backgrou

2020-05-30 17:21:18 2464 1

原创 linux回声服务器系列(4)_多进程版本

在网络编程中,回声服务器(echo server)是一个典型的例子。其中实现非并发服务器很容易,即迭代服务器;而实现并发需要采用IO复用或并发编程技术。在这个系列中将分别采用简易版本、select函数、epoll函数(水平触发和边沿触发)、多进程、多线程来实现回声服务器。传送门:linux回声服务器系列(1)_简单版本linux回声服务器系列(2)_select实现linux回声服务器系...

2020-04-28 13:18:09 347

原创 linux回声服务器系列(5)_多线程并发

向线程传参数方法:传值,但数据类型长度必须小于等于4字节(void*长度)每次malloc一个指针传入

2020-04-28 12:55:00 498

原创 linux网络编程_connect函数的超时设置方法

背景我们都知道connect函数执行TCP协议中的三次握手过程,但如果服务器没有监控某个端口,则connect会失败。默认情况下,connect是阻塞的,且超时时间为75s。当网络连接数量巨大是,阻塞的connect会导致效率非常低下。我们可以按需要来自定义设置其超时时间。信号中断方式非阻塞方式...

2020-04-20 22:22:24 472

原创 pstack无法查看进程堆栈“Could not attach to target”问题

在本地ubuntu下,使用psatck调试程序时出现以下问题:Could not attach to target 40712: No such process.detach: No such process使用 sudo psatck 则出现一堆 No symbols found40735: ./server(No symbols found in )(No symbols fou...

2020-04-20 17:42:05 3644

原创 linux回声服务器系列(3)_epoll实现及原理分析(水平+边沿触发)

在网络编程中,回声服务器(echo server)是一个典型的例子。在这个系列中将分别采用简易版本、select函数、epoll函数(水平触发和边沿触发)来实现回声服务器。传送门:linux回声服务器系列(1)_简单版本linux回声服务器系列(2)_select实现linux回声服务器系列(3)_epoll实现epoll实现基本功能不同于select和poll,epoll是lin...

2020-04-04 21:04:22 400

原创 linux回声服务器系列(2)_select实现

在网络编程中,回声服务器(echo server)是一个典型的例子。在这个系列中将分别采用简易版本、select函数、epoll函数(水平触发和边沿触发)来实现回声服务器。传送门:linux回声服务器系列(1)_简单版本linux回声服务器系列(2)_select实现linux回声服务器系列(3)_epoll实现select实现回声服务器基本功能采用select函数能实现基本的IO...

2020-04-03 21:47:08 375

原创 linux回声服务器系列(1)_简单迭代版本

在网络编程中,回声服务器(echo server)是一个典型的例子,在许多教材中都有提及。在这个系列中将分别采用简易版本、select函数、epoll函数(水平触发和边沿触发)来实现回声服务器。传送门:[linux回声服务器系列(1)_简单版本]简易版本基本功能简易版本的服务器同一时刻只能与一个客户端相连,并提供回声服务。客户端将用户输入的字符串发送到服务器,服务器收到后原封不动发送...

2020-04-03 20:43:13 661 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除