思维导图备注

UNIXLinux程序设计教程
首页 下载 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

第14章 线程高级特征

浏览 4 扫码
  • 小字体
  • 中字体
  • 大字体
2023-09-04 21:58:54
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 前言
  • 第1章 UNIX导论
    • 1.1.2 UNIX的早期发展
    • 1.2 标准
      • 1.2.2 POSIX
      • 1.2.3 统一UNIX规范
      • 1.2.4 C标准
    • 1.1.3 BSD UNIX
    • 1.3 UNIX基本概念
      • 1.3.2 内核
      • 1.3.3 shell
      • 1.3.4 用户名与用户ID、用户组与组ID
      • 1.3.5 特权用户
      • 1.3.6 系统调用与库函数
    • 1.1.4 系统V UNIX
    • 1.4 系统库
      • 1.4.2 保留字
      • 1.4.3 特征测试宏
    • 1.1.5 UNIX的商业化
    • 1.5 示例程序和编译环境
    • 1.1.6 Linux
    • 1.6 错误处理
    • 1.7 系统信息
      • 1.7.2 硬件/软件类型识别
    • 1.8 系统能力限制
      • 1.8.2 系统和文件特征选项
      • 1.8.3 sysconf()、pathconf()和fpathconf()函数
    • 1.9 思考与练习
  • 第2章 标准输入输出
    • 2.2 流和FILE对象
    • 2.3 打开和关闭流
    • 2.4 读和写流
      • 2.4.2 行I/O
      • 2.4.3 读回退
      • 2.4.4 块I/O
    • 2.5 文件定位
    • 2.6 文件结束和错误指示器
    • 2.7 流缓冲
    • 2.8 格式I/O
      • 2.8.2 格式输入
    • 2.9 临时文件
    • 2.10 思考与练习
  • 第3章 低级输入输出
    • 3.2 read()和write()函数
    • 3.3 设置描述字的文件位置
    • 3.4 dup()和dup2()函数
    • 3.5 fdopen()和fileno()函数
    • 3.6 文件控制函数fcntl()
      • 3.6.2 文件描述字标签
      • 3.6.3 文件状态标签
    • 3.7 非阻塞I/O
    • 3.8 readv()和writev()函数
    • 3.9 fsync()和fdatasync()函数
    • 3.10 思考与练习
  • 第4章 文件与目录
    • 4.2 文件类型
      • 4.2.2 目录
      • 4.2.3 链接与link()函数
      • 4.2.4 符号链接与symlink()和readlink()函数
      • 4.2.5 特别文件
      • 4.2.6 测试文件的类型
    • 4.3 文件的属主和用户组
    • 4.4 文件方式
      • 4.4.2 调整用户ID和调整组ID
      • 4.4.3 sticky位
      • 4.4.4 文件方式位小结
    • 4.5 确定和改变文件方式
      • 4.5.2 chmod()和fchmod()函数
      • 4.5.3 access()函数
    • 4.6 文件大小
    • 4.7 文件时间
    • 4.8 文件的删除与换名
      • 4.8.2 文件换名
    • 4.9 目录操作
      • 4.9.2 创建目录
      • 4.9.3 读目录流
      • 4.9.4 对目录流的随机访问
    • 4.10 思考与练习
  • 第5章 进程环境
    • 5.2 命令行参数
      • 5.2.2 扫描命令行中的选项
    • 5.3 环境变量
      • 5.3.2 访问环境
    • 5.4 终止进程
      • 5.4.2 终止前的清理
      • 5.4.3 流产程序
    • 5.5 进程的存储空间
      • 5.5.2 动态存储分配与释放
      • 5.5.3 释放分配的存储单元
    • 5.6 setjmp()和longjmp()函数
    • 5.7 进程资源
      • 5.7.2 资源使用统计
    • 5.8 用户信息
      • 5.8.2 用户数据库
      • 5.8.3 组数据库
    • 5.9 进程的身份凭证
    • 5.10 调整进程的身份
    • 5.11 思考与练习
  • 第6章 进程控制
    • 6.2 进程创建
    • 6.3 执行一个新程序
    • 6.4 等待进程完成
    • 6.5 进程终止与僵死进程
    • 6.6 system()函数
    • 6.7 进程组
    • 6.8 会晤期
    • 6.9 控制终端
    • 6.10 作业控制
    • 6.11 思考与练习
  • 第7章 信号处理
    • 7.2 UNIX信号
      • 7.2.2 程序中止类信号
      • 7.2.3 闹钟类信号
      • 7.2.4 I/O类信号
      • 7.2.5 作业控制类信号
      • 7.2.6 操作错误类信号
      • 7.2.7 其他信号
    • 7.3 生成信号
      • 7.3.2 kill()函数
    • 7.4 设置信号的动作
      • 7.4.2 进程初启时的信号动作
      • 7.4.3 不可靠信号
      • 7.4.4 sigaction()函数
    • 7.5 信号句柄
      • 7.5.2 终止进程的句柄
    • 7.6 阻塞信号
      • 7.6.2 设置信号屏蔽
      • 7.6.3 检查悬挂信号
    • 7.7 等待信号
      • 7.7.2 sigsuspend()函数
    • 7.8 使用分开的信号栈
    • 7.9 信号句柄编程技巧
      • 7.9.2 可重入函数与异步信号安全函数
      • 7.9.3 被信号中断的系统调用
      • 7.9.4 原子数据
    • 7.10 实时信号
      • 7.10.2 发送实时信号
      • 7.10.3 等待实时信号
    • 7.11 思考与练习
  • 第8章 时间与定时
    • 8.1.2 gettimeofday()函数
    • 8.2 时间格式转换
      • 8.2.2 格式化日期与时间
    • 8.3 CPU时间与墙钟时间
      • 8.3.2 times()函数
    • 8.4 睡眠与定时
      • 8.4.2 设置定时器
    • 8.5 实时时钟与定时
      • 8.5.2 实时睡眠
      • 8.5.3 实时定时器
      • 8.5.4 创建和删除实时定时器
      • 8.5.5 设置实时定时器
      • 8.5.6 定时器超期计数
    • 8.6 思考与练习
  • 第9章 终端I/O
    • 9.2 终端I/O概述
      • 9.2.2 串行端口
      • 9.2.3 终端设备文件
      • 9.2.4 输入输出队列
      • 9.2.5 加工和非加工输入方式
    • 9.3 GTI控制接口
      • 9.3.2 GTI控制函数
    • 9.4 终端属性
      • 9.4.2 输出方式
      • 9.4.3 控制方式
      • 9.4.4 局部方式
      • 9.4.5 特殊字符
      • 9.4.6 stty命令
    • 9.5 终端标识
    • 9.6 改变终端属性
    • 9.7 加工方式与非加工方式输入
      • 9.7.2 非加工方式输入
    • 9.8 设置波特率
    • 9.9 行控制函数
    • 9.10 串行端口程序设计
    • 9.11 思考与练习
  • 第10章 高级I/O
    • 10.1.2 锁的测试、请求和释放
    • 10.2 信号驱动的I/O
    • 10.1.3 文件锁与进程和文件的关系
    • 10.3 多路转接I/O
      • 10.3.2 poll()函数
    • 10.1.4 死锁
    • 10.4 异步I/O
      • 10.4.2 I/O完成时的信号交付
      • 10.4.3 异步I/O的优先级
      • 10.4.4 异步I/O函数
      • 10.4.5 异步I/O之例
      • 10.4.6 异步I/O注意事项
    • 10.1.5 建议锁与强制锁
    • 10.5 存储映射I/O
    • 10.6 思考与练习
  • 第11章 进程间通信
    • 11.1.2 父子进程间的管道通信
    • 11.2 FIFO特别文件
      • 11.2.2 FIFO操作
      • 11.2.3 FIFO用于客户/服务通信
    • 11.1.3 连接标准输入和标准输出的管道
    • 11.3 系统V IPC
      • 11.3.2 IPC资源描述结构与成员ipc_perm
      • 11.3.3 ipcs和ipcrm命令
    • 11.1.4 popen()和pclose()函数
    • 11.4 消息队列
      • 11.4.2 消息队列的查询、设置和删除
      • 11.4.3 发送和接收消息
    • 11.1.5 管道I/O的原子性
    • 11.5 共享存储段
      • 11.5.2 共享存储段的查询、设置和删除
      • 11.5.3 共享存储段的连接和分离
    • 11.6 信号量
      • 11.6.2 信号量的查询、设置和删除
      • 11.6.3 信号量操作
    • 11.7 思考与练习
  • 第12章 套接字与网络通信
    • 12.2 套接字
    • 12.3 套接字地址结构
      • 12.3.2 域名地址
      • 12.3.3 服务与端口号
      • 12.3.4 套接字地址数据结构
      • 12.3.5 字节顺序
    • 12.4 命名套接字
    • 12.5 套接字通信模式
    • 12.6 流套接字操作
      • 12.6.2 接收连接
      • 12.6.3 getsockname()和getpeername()函数
      • 12.6.4 多客户服务
      • 12.6.5 send()和recv()函数
    • 12.7 套接字选项
    • 12.8 带外数据
      • 12.8.2 带外数据的发送和接收
      • 12.8.3 带外数据标志
    • 12.9 数据报套接字操作
      • 12.9.2 数据报套接字客户/服务之例
      • 12.9.3 使用connect()函数
    • 12.10 超时处理
    • 12.11 思考与练习
  • 第13章 线程
    • 13.1.2 线程的好处
    • 13.2 创建线程
    • 13.1.3 Pthreads线程
    • 13.3 终止线程
      • 13.3.2 可汇合与分离的线程
    • 13.1.4 线程标识
    • 13.4 创建特殊属性的线程
    • 13.5 互斥变量
      • 13.5.2 互斥变量属性
      • 13.5.3 互斥变量的加锁与解锁
      • 13.5.4 互斥变量与spin锁
    • 13.6 读写锁
      • 13.6.2 读写锁的上锁与解锁
    • 13.7 条件变量
      • 13.7.2 条件变量属性
      • 13.7.3 等待条件变量
      • 13.7.4 唤醒条件变量等待
    • 13.8 思考与练习
  • 第14章 线程高级特征
    • 14.1.2 使用线程专有数据
    • 14.2 取消线程
      • 14.2.2 取消线程与取消点
      • 14.2.3 异步取消的安全性
      • 14.2.4 现场清理
    • 14.3 线程调度
      • 14.3.2 调度策略与优先级
      • 14.3.3 线程调度属性
      • 14.3.4 动态改变线程的调度策略和优先级
    • 14.4 线程与信号
      • 14.4.2 信号屏蔽
      • 14.4.3 向线程发送信号
      • 14.4.4 等待信号
      • 14.4.5 一种新的事件通知方法:SIGEV_THREAD
    • 14.5 思考与练习
  • 参考文献
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《UNIXLinux程序设计教程》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度