zhuziyu1157817544

小小学渣在成长

c++11库 <thread>的基本使用

创建线程:/************************************************************************* > File Name: 1.cpp > Author: 朱紫钰 > Mail: zhuziyu...

2017-12-19 14:19:45

阅读数 502

评论数 0

webbench1-5源码分析

socket.c文件所有我自己的注释理解都是汉字,绝大部分前面都有zzy,是为了和原来作者的注释区分开/* $Id: socket.c 1.1 1995/01/01 07:11:14 cthuang Exp $ * * This module has been modified by Radi...

2017-12-17 14:26:54

阅读数 191

评论数 0

getopt和getopt_long

getopt和getopt_long函数1.介绍getoptint getopt(int argc, char * const argv[], const char *optstring); getopt函数的前两个参数,就是main函数的argc和argv,这两者直接...

2017-12-16 21:35:56

阅读数 320

评论数 0

axel:多线程下载工具

定位:基于http,ftp协议的多线程下载工具,支持断点续传。axel github代码:axelubuntu16.04下载: apt-get install axel 使用方法:1.man axel 2.axel -h axel -o target url 改目标文件名称 ...

2017-08-15 16:24:14

阅读数 449

评论数 0

同步异步阻塞非阻塞

今天在某乎看到的有关同步异步阻塞非阻塞的例子,很形象。 老张烧水。名词:老张,会响的水壶,不会响的水壶。 同步阻塞:老张用不会响的水壶烧水,得在旁边看者,什么也干不了。水沸腾倒暖壶以后才能走。 同步非阻塞:老张时不时去看看水有没有开,没有开的话,回客厅看电视。 异步阻塞:老张在水旁边等着,...

2017-08-04 21:28:55

阅读数 244

评论数 1

有关谷歌浏览器的一个问题

先看我的测试结果: 最最low的服务器: 功能:监听新用户    监听注册描述符的EPOLLIN和EPOLLOUT。    触发EPOLLIN的话,打印缓冲区    触发EPOLLOUT,发送固定字符串 代码:/*************************************...

2017-08-04 17:53:30

阅读数 389

评论数 0

http状态码和我踩进去的坑

http状态码定义:HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码分类:1xx: 作为临时的响应,代表请求已经被受理,服务器用来向客户端指定客户端应该有的后续动作。2xx:请求成功,服务器已经接受并且会处理它3xx:这类状态码代表需要客户端采...

2017-08-04 15:48:01

阅读数 274

评论数 0

用select处理带外数据

回顾select:下面的事件支持selece可读: 1.socket内核接收缓存区中的字节数大于或等于其低水位标记SO_RCVLOWAT(0x1004)。我们可以无阻塞地读取该socket,并且读操作返回字节数为0。 2.socket通信的对方关闭连接。此时对该socket的读操作将返回0。 ...

2017-06-03 11:19:04

阅读数 634

评论数 1

半同步/半异步模式和领导者/追随者模式

半同步半异步模式:出现原因: 异步线程执行效率高,但是编写复杂,同步线程效率低,但是逻辑简单。服务器要求好的实时性和同时处理多用户的请求,英雌采用两者结合的形式。 具体情况: 过程: 异步线程见听到客户请求后,将其封装成请求对象插入请求队列,请求队列将通过通知某个工作在同步模式下的工作线程...

2017-05-18 18:54:10

阅读数 1357

评论数 0

Reactor和Proactor的区别

1.先解释同步和异步: 同步异步是一种通信机制。 同步:调用方需要保持等待直到I/O操作完成。 异步:调用方可以不用保持等待,只需要操作系统完成I/O操作通知调用方就可以了。 2.再说说阻塞和非阻塞: 阻塞非阻塞是一种调用机制。 阻塞:调用方等待I/O操作完成后才返回,就是阻塞的。 ...

2017-05-17 14:42:29

阅读数 701

评论数 0

高级I/O函数总结

怕忘。pipe函数int pipe(int fd[2]); 返回值: 执行成功返回0,失败返回-1. 理解: pipe创建的这两个文件描述符分别构成函数两端,往fd[1]中写的数据可以从fd[0]中读出,fd[0]只能用于从管道读数据,fd[1]只能用于往管道写数据。管道内部传输的时字节...

2017-05-16 18:01:56

阅读数 198

评论数 0

select和poll回射服务器程序

select版回射服务器 1.代码: /************************************************************************* > File Name: server.c > Author: zhuziyu &g...

2017-04-10 17:42:55

阅读数 335

评论数 0

基本TCP套接字编程总结

1.分配一个套接口的描述字及其所用的资源 int socket(int family,int type, int protocol); //family指定协议族 //type指定套接字类型 //protocol指定为某个协议常数值12341234 family 选项 AF_I...

2017-04-10 10:49:57

阅读数 362

评论数 1

通用套接字地址结构

1.通用套接字地址结构起因: 当作为一个参数传递进任何套接字函数时候,套接字地址结构总是以引用的形式来传递,并且,这样有一个参数的人核桃皆自函数必须处理例子所有支持的任何协议族的套接字地址结构。因此在头文件中定义了一个通用的套接字地址结构。 2.通用套接字地址结构#includ...

2017-03-29 19:55:09

阅读数 601

评论数 0

拷贝构造函数

结论如题。 解释如下: 先看代码:#include <iostream> #include <cstdlib> #include <string> using namespace std;class People{ private: string m...

2017-03-27 11:15:42

阅读数 238

评论数 0

C++智能指针 shared_ptr,unique_ptr和weak_ptr

1.智能指针为什么存在?因为C++没有自动回收内存的机制,因此每一次new出来的动态内存必须手动delete回去。因此智能指针可以解决这个问题。2.智能指针的大致描述是什么?智能指针:自动负责释放所指向的对象,实际上它利用了栈的机制,每一个智能指针都是一个模板类,调用智能指针实际上是创建了一个智能...

2017-03-22 20:07:48

阅读数 3292

评论数 0

一个纯小白内心的读白--学习TCP/IP的开始

内心好奇又烦恼,不知道的太多了。先不总结我学习的TCP/IP。因为我都不好意思说我在学习TCP/IP.挡不住内心的悲伤。描述一个网络中的各个协议的常用方法是使用International Organization for Standardization的open systems interconn...

2017-03-22 13:49:27

阅读数 361

评论数 2

关联容器 map/set/multimap/multiset

关联容器分有序和无序。 有序容器的名称们 简介 map 关联数组,保存键-值对 set 关键字就是它的值,只保存关键字 multimap 关键字可以重复出现的map multiset 关键字可以重复出现的set 无序容器的名称们 简介 unordere...

2017-03-21 20:18:36

阅读数 204

评论数 0

lambda表达式

lambda是C++11特性之一,可以方便构造匿名函数。当代码有很多小程序并且使用次数只有一次时候,可以把他们重构成lambda表达式。C++11 的 lambda 表达式规范如下: (1)[ capture ] ( params ) mutable exception attribute -&...

2017-03-20 10:53:36

阅读数 237

评论数 0

烫烫烫和屯屯屯

int p[16];原来写代码会出现死循环的烫烫烫,因为debug把所有分配出来的栈空间的每一个字节都初始化成0xCC。多个0xCC 的汉字编码就是n个“烫”。如果打印一个指针的值发现是0xCCCCCCCC,那么基本可以确定这个指针没有被初始化。如果未初始化的标记由0xCCCCCCCC变为0xCD...

2017-02-12 19:02:41

阅读数 548

评论数 3

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