摘要:
1.线程的创建方法 创建线程具体调用pthread_create函数,这个函数实在glibc库中实现。在glibc中pthread_create的调用路径是__pthread_create_2_1->create_thread。其中create_thread很重要,它设置了创建线程时使用的各种fla 阅读全文
摘要:
pthread简介 POSIX Threads简称Pthreads,此标准定义了一套C语言的类型,函数和常量。定义在pthread.h头文件和一个线程库里,大约有100多个API,可以分为4大类: 线程管理:包括线程创建(create),线程分离(detach),线程连接(join)及设置和查询线程 阅读全文
摘要:
线程的基本元素 线程的常见的基本操作 线程的创建 线程的终止 线程之间的同步 线程的调度 线程当中的数据管理 线程与进程之间的交互 进程与线程之间共享一些内核数据结构 已经打开的文件描述符 当前工作目录 用户id和用户组id 全局数据段的数据 进程的代码 信号以信号处理函数 线程所独有的 线程的ID 阅读全文
摘要:
1.核心数据结构 时间触发型事件结构体 // eos定时器事件 typedef struct eos_event_timer { eos_u32_t topic : 13; // 事件主题 eos_u32_t oneshoot : 1; // 是否单次触发 eos_u32_t unit : 2; / 阅读全文
摘要:
为什么要有异步I/O 异步IO相比同步IO不会阻塞当前程序的执行,可以继续向下执行。即当应用程序发起一个IO操作后,调用者不会立刻得到结果,而是在内核完成IO操作后,通过信号或回调来通知调用者。 信号驱动I/O 信号驱动IO是异步IO的一种实现,在异步IO中,当文件描述符上可以执行I/O操作时,进程 阅读全文
摘要:
什么是IO多路复用 什么是IO多路复用:单线程或单进程同时检测若干文件描述符是否可以执行IO操作的能力。 使用场景: 应用程序需要处理来自多条事件流中的事件,比如web服务器入nginx,需要同时处理来自N个客户端的事件。 逻辑控制流在时间上的重叠叫做并发。 传统方法是使用多线程或多进程来处理,但是 阅读全文
摘要:
epoll原理与应用 介绍 epoll - I/O event notification facility 实现处理tcp请求,为一个连接对应一个线程,在高并发的场景,这种多线程模型于epoll相比就相形见绌了。epoll是linux2.6内核的一个新的系统调用,在设计之初,就是为了替代select 阅读全文
摘要:
检查安装gdb 打开终端输入 gdb -v gdb已安装log: zx@zx-PC:~/Desktop/codes$ gdb -v GNU gdb (Debian 7.12-6) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundat 阅读全文
摘要:
默认python版本替换 1.测试当前默认python版本 user@user-jwq# python Python 2.7.18 (default, Jul 1 2022, 12:27:04) [GCC 9.4.0] on linux2 Type "help", "copyright", "cre 阅读全文
摘要:
安装tcpdump Ubuntu下安装命令: sudo apt install tcpdump Arm嵌入式linux下: 下载tcpdump源码包,使用交叉编译链编译后放入Arm板中 (tcpdump下载及交叉编译过程待补充) tcpdump命令格式介绍 tcpdump语法: tcpdump [ 阅读全文