- 博客(17)
- 收藏
- 关注
原创 Linux应用——IO多路转接
在添加节点的时候,需要对这个structepoll_event类型的节点进行初始化,如果当这个节点对应的文件描述符变为已就绪状态,这些被传入的初始化信息就会被原样传出(主要是epoll_data_tdata),这个对应关系必须要搞清楚,因此想要在调用epoll_wait函数时获取就绪fd信息,就必须先在event.data里设置fd。的,一旦检测到有文件描述符就绪(可以读数据或者可以写数据)程序的阻塞就会被解除,之后就可以基于这些(一个或多个)就绪的文件描述符进行通信了。
2025-01-19 20:27:06
587
原创 Linux应用——多线程和线程同步
注意:如果子线程调用 pthread_exit 函数时,传入的参数是一个指向栈区的指针,则主线程无法接收到这个指针,原因是:如果多个线程共用同一个虚拟地址空间,每个线程在栈区都有一块属于自己的内存,相当于栈区被这几个线程平分了,当线程退出,线程在栈区的内存也就被。读写锁是互斥锁的升级版, 在做读操作的时候可以提高程序的执行效率,如果所有的线程都是做读操作, 那么读是并行的,但是使用互斥锁,读操作也是串行的。,避免出现数共享资源的数据混乱。,并且线程的阻塞是无法解开的(因为可以解锁的线程也被阻塞了)
2025-01-12 19:50:12
747
原创 Linux应用——进程
守护进程(Daemon)也称为精灵进程,是运行在后台的一种特殊进程,它独立于控制终端并且周期性地执行某种任务或等待处理某些事情的发生,主要表现为以下两个特点:Linux 系统中有很多系统服务,大多数服务都是通过守护进程来实现的,譬如系统日志服务进程 syslogd、web 服务器 http、邮件服务器 sendmail 和数据库服务器 mysqld 等。守护进程(Daemon)的名字通常以字母 d 结尾。
2025-01-12 19:36:04
727
原创 Linux应用——文件IO
同一个文件(譬如磁盘上的同一个文件,对应同一个 inode)被多个独立的读写体(同一文件的不同文件描述符,多次打开同一个文件或者使用 dup/dup2)同时进行 IO 操作如果文件目前的大小大于参数 length 所指定的大小,则多余的数据将被丢失,类似于多余的部分被“砍”掉了;如果文件目前的大小小于参数 length 所指定的大小,则将其进行扩展,对扩展部分进行读取将得到空字节"\0"。
2025-01-05 20:02:01
727
原创 Linux C应用——信号
当用户在终端按下中断字符(通常是CTRL + C)时,内核将发送 SIGINT 信号给前台进程组中的每一个进程(占用当前终端的进程)。该信号的系统默认操作是终止进程的运行。所以通常我们都会使用 CTRL + C 来终止一个占用前台的进程,原因在于大部分的进程会将该信号交给系统去处理,从而执行该信号的系统默认操作使用也可以终止某个进程(2 可以使用 kill -l 查看信号的编号)
2025-01-05 19:53:07
675
原创 100ASK_IMX6ULL烧写裸机程序步骤(使用USB的方式,无需用SD卡)
最近在学习正点原子的裸机视频,左神使用的是SD卡进行裸机程序烧录,但是我使用的是韦东山的IMX6ULL,而且没有SD卡,所以需要换其他方式烧录裸机程序
2024-01-15 21:43:04
1685
2
原创 Git入门学习1——git本地操作
其中,--global表示这台机器上的所有Git仓库都会使用这个配置。查看已经配置的用户名和Email地址用命令接下来,在某目录下输入git init将其变成Git可以管理的仓库。
2023-08-02 14:38:21
118
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人