4 sinat_35297665

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

C语言实现单链表操作

SLIST_H #ifndef __SLIST_H__ #define __SLIST_H__ #include<cstdio> #include<malloc.h> #include<assert.h> typedef int ElemType; typedef struct Node...

2020-01-29 16:33:33

实现Linux select IO复用C/S服务器代码

服务器端#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<sys/stat.h>#include<arpa/inet.h>#include &...

2019-10-25 14:24:40

TCP服务器/客户端实例(C/C )

1.1、Linux下的TCP服务器:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/so...

2019-10-21 18:25:43

Linux下网络socket编程——实现服务器(select)与多个客户端通信

一、关于socket通信服务器端工作流程:调用 socket() 函数创建套接字 用 bind() 函数将创建的套接字与服务端IP地址绑定 调用listen()函数监听socket() 函数创建的套接字,等待客户端连接 当客户端请求到来之后 调用 accept()函数接受连接请求,返回一个对应于此连接的新的套接字,做好通信准备 调用 write()/read() 函数和 s...

2019-10-18 16:43:01

linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)

一、介绍基于TCP协议通过socket实现网络编程常用API1、读者如果不是很熟悉,可以先看我之前写的几篇博客,有socket,地址结构的理解,更加方便读者理解地址分别是:1)、http://blog.csdn.net/u011068702/article/details/564799272)、http://blog.csdn.net/u011068702/article/de...

2019-10-18 16:41:18

链表实现生产者消费者

这里的代码围绕一个生产者和一个消费者来分析,生产者生产一个产品,消费者才能使用一个产品,消费者和生产者是同步关系。一:不加同步互斥锁pthre#include<stdio.h> #include<stdlib.h>#include<pthread.h>typedef struct _Node{struct _Node* next;...

2019-07-28 21:56:29

python装饰器详解

https://blog.csdn.net/xiangxianghehe/article/details/77170585你会Python嘛?我会!那你给我讲下Python装饰器吧!Python装饰器啊?我没用过哎以上是我一个哥们面试时候发生的真实对白。———————————————-分割线——————————————————————————简言之,python装饰器就是用...

2018-09-05 23:23:09

12步轻松搞定python装饰器

http://python.jobbole.com/81683/呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂。搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数相关语法的一些特点。我没法让装饰器变得简单,但是通过一步步的剖析,我也许能够让你在理解装饰器的时候更自信一点。因为装饰器很复杂,...

2018-09-05 23:21:16

c++继承父类的子类,如何调用父类的同名函数?

https://blog.csdn.net/qq_26399665/article/details/52080215子类调用父类的同名函数: 子类和父类返回值参数相同,函数名相同,有virtual关键字,则由对象的类型决定调用哪个函数。 子类和父类只要函数名相同,没有virtual关键字,则子类的对象没有办法调用到父类的同名函数,父类的同名函数被隐藏了,也可以强制调用父类的同名...

2018-08-03 21:58:33

循环服务器,并发服务器模型以及I/O多路转接模型

https://blog.csdn.net/xinianbuxiu/article/details/53455784一、基于TCP/IP协议的基本循环服务器tcp_server.c   #include <stdio.h> #include <stdlib.h> #include <string.h>   ...

2018-08-02 23:14:50

Linux C 实现一个简单的线程池

https://www.cnblogs.com/GyForever1004/p/9185240.html线程池的定义线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理...

2018-07-24 12:03:10

一个通用纯C队列的实现

https://blog.csdn.net/kxcfzyk/article/details/31728179队列并不是很复杂的数据结构,但是非常实用,这里实现一个队列是因为在我的另一篇博客非常精简的Linux线程池实现中要用到。 队列API定义如下:   //queue.h   #ifndef QUEUE_H_INCLUDED #define Q...

2018-07-24 00:30:14

非常精简的Linux线程池实现(一)——使用互斥锁和条件变量

https://blog.csdn.net/kxcfzyk/article/details/31719687线程池的含义跟它的名字一样,就是一个由许多线程组成的池子。有了线程池,在程序中使用多线程变得简单。我们不用再自己去操心线程的创建、撤销、管理问题,有什么要消耗大量CPU时间的任务通通直接扔到线程池里就好了,然后我们的主程序(主线程)可以继续干自己的事去,线程池里面的线程会自动去执行这...

2018-07-24 00:29:13

Linux探秘之用户态与内核态

https://www.cnblogs.com/bakari/p/5520860.html一、 Unix/Linux的体系架构  如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU...

2018-07-23 19:32:38

C++空类的大小

https://blog.csdn.net/lihao21/article/details/47973609本文中所说是C++的空类是指这个类不带任何数据,即类中没有非静态(non-static)数据成员变量,没有虚函数(virtual function),也没有虚基类(virtual base class)。 直观地看,空类对象不使用任何空间,因为没有任何隶属对象的数据需要存储。然而,C+...

2018-07-23 18:53:30

epoll 水平触发与边缘触发

https://blog.csdn.net/lihao21/article/details/67631516?ref=myreadepoll也是实现I/O多路复用的一种方法,为了深入了解epoll的原理,我们先来看下epoll水平触发(level trigger,LT,LT为epoll的默认工作模式)与边缘触发(edge trigger,ET)两种工作模式。使用脉冲信号来解释LT和ET可能...

2018-07-23 18:12:02

聊聊同步、异步、阻塞与非阻塞

近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞、非阻塞、异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧。经过看了些这几个概念的资料,发现同步、异步、阻塞、非阻塞的概念其实也并不难以理解,在此写下此文,欢迎拍砖,希望多多交流。1 同步与异...

2018-07-23 17:13:28

聊聊Linux 五种IO模型

一篇《聊聊同步、异步、阻塞与非阻塞》已经通俗的讲解了,要理解同步、异步、阻塞与非阻塞重要的两个概念点了,没有看过的,建议先看这篇博文理解这两个概念点。在认知上,建立统一的模型。这样,大家在继续看本篇时,才不会理解有偏差。那么,在正式开始讲Linux IO模型前,比如:同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本...

2018-07-23 17:12:32

【Linux基础】Linux的5种IO模型详解

引入为了更好的理解5种IO模型的区别,在介绍IO模型之前,我先介绍几个概念1.进程的切换(1)定义为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。即从用户态(较低的3G字节)切换到内核态(最高的1G字节),非常消耗系统资源。(2)过程保存处理机上下文,包括程序计数器和其他寄存器。 更新PCB信息。 把进程的PCB移入相应的队...

2018-07-23 17:11:48

C++子类父类成员函数的覆盖和隐藏实例详解

https://www.jb51.net/article/117380.htm函数的覆盖   覆盖发生的条件:(1) 基类必须是虚函数(使用virtual 关键字来进行声明) (2)发生覆盖的两个函数分别位于派生类和基类 (3)函数名和参数列表必须完全相同函数的隐藏    隐藏发生的条件:(1)子类和父类的函数名相同,参数列表可以不一样看完下面的例子就明白了#include "iostream" ...

2018-07-14 15:26:13

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。