一、 课程简介:
本课程从Linux内核的进程模型和线程模型出发,讲解多线程开发的原理,并结合实际应用需要讲解如何结合实际问题,选择合理的设计和实现机制,实现性能和可靠性。
二、培训目标:
理解进程与线程内核原理与开发基础
Linux进程调度原理
Linux线程的内核实现原理
Linux多进程应用开发
进程间通信
Linux多线程应用开发
掌握多线程开发的高级技术和调试
Linux多线程与信号
可重入函数、线程安全与异步信号安全
C/C++库函数和STL的线程安全
线程的堆栈与栈溢出
多线程编程模型
多线程与I/O
调试手段与技巧
三、培训内容:
进程与线程内核原理与开发基础
Linux进程调度原理 Linux进程生命周期
Linux进程调度时机
Linux 进程调度算法
Linux进程调度机制
Linux内核线程
Linux线程的内核实现原理
Linux线程模型:LinuxThreads和NPTL
内核如何用进程模拟线程
实时线程创建与抢占
硬实时Linux
深化:从操作系统本质看进程与线程
Linux多进程应用开发 进程的属性和状态
进程的创建、执行、消亡
进程相关系统调用
守护进程
进程间通信进程间通信基本概念
管道的实现及应用
信号的实现与应用
消息队列的实现与应用
共享内存的实现与应用
信号量
Linux多线程应用开发 Linux线程模型
线程创建、等待、退出
线程属性
实时线程
线程间通信
pthread_once
线程级全局变量:Thread-Specific Data
应用与开发实践
多线程开发的高级技术和调试
Linux多线程与信号 Linux内核信号处理流程
Linux信号的分类
进程的信号处理
多线程情况下的信号处理
信号处理函数的要求
errno与信号
应用与开发实践
可重入函数、线程安全与异步信号安全 可重入函数的概念
可重入函数与线程安全函数
可重入与异步信号安全
使函数可重入的经验
异步信号安全的库函数
信号处理器与线程通信
应用与开发实践
C/C++库函数和STL的线程安全 POSIX标准的要求
线程安全的库函数
线程不安全的库函数
STL容器的线程安全
应用与开发实践
线程的堆栈与栈溢出
Linux线程堆栈的分配原理
查看和设置线程的栈空间
线程栈溢出
栈溢出保护区
应用与开发实践
多线程编程模型 典型的单线程编程模型
多线程编程模型
流水线模型
工作组模型
客户端/服务器模型
线程池
多线程分解的思路
并行编程的一些研究课题
应用与开发实践
多线程与I/O
阻塞、非阻塞、异步I/O与多线程
select还是多线程
应用与开发实践
调试手段与技巧
gdb调试多线程的技巧
系统级调试
线程级调试
core dump与gcore
内存泄露
死锁的判断和调试
常见多线程编程错误分析
应用与开发实践