- 博客(19)
- 收藏
- 关注
原创 第七章 高级 I/O
第七章 高级 I/O7.1 非阻塞 I/O阻塞其实就是进入了休眠状态,交出了 CPU 控制权。前面所学习过的函数,譬如 wait()、pause()、sleep()等函数都会进入阻塞。阻塞式 I/O 顾名思义就是对文件的 I/O 操作(读写操作)是阻塞式的,非阻塞式 I/O 同理就是对文件的I/O 操作是非阻塞的。这样说大家可能不太明白,这里举个例子,譬如对于某些文件类型(读管道文件、网络设备文件和字符设备文件),当对文件进行读操作时,如果数据未准备好、文件当前无数据可读,那么读操作可能会使调用者阻塞
2022-05-25 18:22:32 213
原创 线程:基础
线程6.1 线程概述6.1.1 线程概念什么是线程?线程是参与系统调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。譬如某应用程序设计了两个需要并发运行的任务 task1 和 task2,可将两个不同的任务分别放置在两个线程中。线程是如何创建起来的?当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻运行,该线程通常叫做程序的主线程(Main Thread),因为它是程序一开始时就运行的线
2022-05-17 20:29:59 1410
原创 Linux:信号:基础
第四章 信号:基础4.1 基本概念信号是事件发生时对进程的通知机制,也可以把它称为软件中断。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程,大多数情况下,是无法预测信号达到的准确时间。信号的目的是用来通信的一个具有合适权限的进程能够向另一个进程发送信号,是进程间通信(IPC)的原始形式。信号可以由“谁”发出?⚫ 硬件发生异常,即硬件检测到错误条件并通知内核,再由内核发送相应的信号给相关进程。硬件检测到异常的包括执行异常的机器语言指令,诸如,除数为 0、数组访问越界导致引用了无法访问的内
2022-05-13 22:22:37 650
原创 文件I/O详解
第二章 文件I/O基础接下来大家介绍 Linux 应用编程中最基础的知识,即文件 I/O(Input、Outout),文件 I/O 指的是对文件的输入/输出操作,说白了就是对文件的读写操作;Linux 下一切皆文件,文件作为 Linux 系统设计思想的核心理念,在 Linux 系统下显得尤为重要,所以对文件的 I/O 操作既是基础也是最重要的部分。本章将向大家介绍 Linux 系统下文件描述符的概念,随后会逐一讲解构成通用 I/O 模型的系统调用,譬如打开文件、关闭文件、从文件中读取数据和向文件中写入数据
2022-04-25 16:23:56 3488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人