做影视网站侵权吗,网站开发设计电子书,wordpress账号破解,wordpress怎么使用插件下载1. 线程
1.1 定义 线程是一个轻量级的进程 是一个任务被创建、调度、消亡的过程
1.2 线程和进程的区别与联系 1. 线程是CPU任务调度的最小单元 2. 进程是操作系统资源分配的最小单元 3. 线程#xff08;Thread#xff09;是操作系统能够进行运算调度的最小单位…1. 线程
1.1 定义 线程是一个轻量级的进程 是一个任务被创建、调度、消亡的过程
1.2 线程和进程的区别与联系 1. 线程是CPU任务调度的最小单元 2. 进程是操作系统资源分配的最小单元 3. 线程Thread是操作系统能够进行运算调度的最小单位它是程序执行流的最小单元也是进程内的实际运作单位。线程被包含在进程之中一个进程可以包含一个或多个线程每个线程代表进程中的一个执行路径能够并发或并行执行不同的任务。
1.3 线程的创建 1. 进程的创建文本段、数据段、系统数据段、内核 2. 线程的创建栈区独立,其余区域与进程共享 3. 进程中的所有线程 独享:栈区——局部变量、 共享:文本段、数据段、堆区——全局变量/静态变量/字符串常量/malloc空间/代码
1.4 线程的调度 宏观并行、微观串行
1.5 多线程和多进程的优缺点 1. 执行效率 多线程 多进程 1.多线程只需在同一进程空间内部切换调度任务 2.多进程需要在不同进程空间来回切换调度任务 2. 安全性 多进程 多线程 1.多进程各自独立,一个进程异常结束,不会影响其余进程 2.多线程都在同一进程空间内部,一个线程异常结束,导致进程异常结束, 进程中其余所有线程均会结束 3. 通信能力 多线程 多进程 1.多线程可以利用共享空间实现任务通信 2.多进程没有共享空间,所以通信方式比较复杂 4. 通信安全性 多进程 多线程 1.多进程没有共享空间,依赖第三方对象完成通信,中间不涉及资源竞争问题 2.多线程有共享空间,多个任务通信会产生资源竞争,需要加锁
2. 线程相关函数接口 对标进程函数接口 1.fork pthread_create 2.exit pthread_exit 3.wait pthread_join 4.getpid pthread_self
2.1 pthread_create 1. 定义 2. 功能 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.2 pthread_self 1. 定义 2. 功能 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.3 pthread_exit 1. 定义 2. 功能 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.4pthread_cancel 1. 定义 2. 功能 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.5 pthread_join 1. 定义 2. 功能 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.6 pthread_attr_init 1. 定义 2. 功能 初始化线程属性为默认属性 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.7 pthread_attr_setdetachstate 1. 定义 2. 功能 设置线程的属性 3. 参数 4. 返回值 5. 示例程序 6. 注意
2.8 pthread_attr_destroy 1. 定义 2. 功能 销毁线程属性 3. 参数 4. 返回值 5. 示例程序 6. 注意
3. 互斥锁
3.1 引用互斥锁的原因利用全局变量能够实现两个线程任务通信线程任务通信操作全局变量可能会引发资源竞争,为避免资源竞争,引入互斥锁机制
3.2 定义 互斥锁可以理解为是一种资源一旦互斥锁被加锁,另外的线程任务无法继续加锁必须等待互斥锁被解锁,另外的任务才能加锁
3.3 临界资源(临界区) 加锁和解锁中间的代码(资源)称为临界资源(临界区)同一时刻,临界资源不能被同时执行
4. 互斥锁相关函数接口
4.1 pthread_mutex_init 1. 定义 2. 功能 初始化一个互斥锁 3. 参数 4. 返回值 5. 示例程序 6. 注意
4.2 pthread_mutex_lock 1. 定义 2. 功能 上锁 3. 参数 4. 返回值 5. 示例程序 6. 注意
4.3 pthread_mutex_unlockk 1. 定义 2. 功能 解锁 3. 参数 4. 返回值 5. 示例程序 6. 注意
4.4 pthread_mutex_destroy 1. 定义 2. 功能 销毁锁资源 3. 参数 4. 返回值 5. 示例程序 6. 注意