![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
cleverlemon
hello world !
展开
-
select、poll和epoll的区别 ET模式
区别select :用途是在一定时间内,监听用户感兴趣的文件描述符上的可读、可写、和异常的事件。在32位系统默认情况下,select最多监听1024个描述符。poll :本质上和select没有太大区别,poll是基于链表来存储的,因此没有最大连接数的限制。select和poll每次调用都需要给内核拷贝描述符和事件;select和poll返回后,每次都需要遍历所有描述符找到就绪的描述符,时间...原创 2020-05-07 21:29:15 · 314 阅读 · 0 评论 -
UDP协议--网络编程流程
UDP是一种无连接的、不可靠的数据报服务。服务器(被动)int socket ();//第二个参数选用SOCK_DGRAMint bind ();//作为服务器,必须将地址信息和sockfd进行绑定int recvfrom (); //接收任意一个客户端的数据int sendto (); //给一个客户端发送数据int close();客户端(主动)int socket ()...原创 2020-05-04 13:54:48 · 385 阅读 · 0 评论 -
TCP协议--网络编程流程
TCP 协议是一种面向连接的、可靠的字节流服务。TCP协议的编程流程服务器端socket();//创建一个用于监听客户端连接的网络套接字bind();//将创建的套接字与本段的地址信息进行绑定listen();//启动监听,不会阻塞accept();//接收一个客户端的连接,返回的是一个客户端连接套接字recv(); /send(); //读取数据或发送数据close();//...原创 2020-04-18 15:26:52 · 432 阅读 · 0 评论 -
linux线程同步的方法——互斥量、信号量、条件变量、读写锁
线程同步就是当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态。实现线程同步的方法有互斥量、信号量、条件变量和读写锁。互斥量(互斥锁) 基本实现就是在线程进入临界区之前,执行加锁操作;线程退出之后,执行解锁操作。 互斥锁类型:pthread_mutex_t //一般定义在全局...原创 2020-04-08 22:41:50 · 269 阅读 · 0 评论 -
线程的概念以及线程在Linux上的实现
线程的概念 线程是进程内部的一条执行路径(执行序列或执行流),一个进程可以包含多个线程。将main函数的线程称之为主线程,其他线程称之为函数线程。函数线程的主要构造如下:void *fun(void *arg);int main(){ pthread_create(fun);//只是给定一个函数地址,来指定创建的线程从哪个函数开始执行}线程的实现方式(windows下)用户级线...原创 2020-04-04 22:03:08 · 162 阅读 · 0 评论 -
Linux编程题:创建3个线程分别打印abc,用信号量进行同步
创建三个线程,分别打印a,b,c。 现在要求用信号量对线程进行同步,无论程序运行多少次、如何运行,都能使整个程序依次打印 a b c a b c a b c . . . 一直死循环 同步过程如下图,需要三个信号量:代码如下(linux系统下): 1 #include<stdio.h> 2 #include<unistd.h> 3 #include<...原创 2020-02-12 16:03:26 · 2725 阅读 · 0 评论 -
Linux中内存(4G)的划分区域
32 位的Windows操作系统上,内存的划分比例是 2:2(用户空间:内存空间),而在Linux上是以 3:1的比例划分的。那么,Linux上用户空间和内核空间具体又是怎么划分的呢?下面我们来简单介绍以下: 4G 地址空间的范围是0x0000 0000 ~ 0xFFFF FFFF,其中0xC000 0000 ~ 0xFFFF FFFF是属于内核空间的,共有1G的大小。内核简单的说由...原创 2020-02-05 17:52:33 · 2114 阅读 · 0 评论 -
linux系统目录介绍
在linux中所有的文件都是基于目录的方式存储的,一切都是文件,包括硬盘、分区和可插拔介质。Linux的文件系统被组织成一个有层次的树形结构。文件系统的最上层是 /,也就是根目录。这就意味着所有其它文件和目录(包括其它硬盘和分区)都位于根目录中。 在大部分 Linux 发行版中常见的重要目录列表如下: / --根目录用于存放Linux所有的文件和相关目录,根目录占据硬盘空间...原创 2020-01-12 19:12:06 · 2123 阅读 · 2 评论