Linux编程与应用课件:10第10章 Linux多线程编程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Linux编程与应用课件:10第10章 Linux多线程编程.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 编程 应用 课件 10 多线程
- 资源描述:
-
1、第10章Linux多线程编程 线程基本概念与线程操作线程基本概念与线程操作 线程属性控制线程属性控制 线程调度策略线程调度策略 2022-1-202线程与进程的对比 2022-1-203线程资源 线程自己基本上不拥有系统资源,只拥有少量在运行中必不可少的资源(如程序计数器、一组寄存器、栈、线程信号掩码、局部线程变量和线程私有数据),但是它可与同属一个进程的其他线程共享进程所拥有的全部资源(同一地址空间、通用的信号处理机制、数据与I/O)。进程在使用时占用了大量的内存空间,特别是进行进程间通信时一定要借助操作系统提供的通信机制,这使得进程有自身的弱点,而线程占用资源少,使用灵活,很多应用程序中都
2、大量使用线程,而较少的使用多进程,但是,线程不能脱离进程而存在,另外,线程的层次关系,执行顺序并不明显,对于初学者大量使用线程会增加程序的复杂度。2022-1-204进程/线程应用对比 应用功能线程进程创建pthread_createfork,vfork退出pthread_exitexit等待pthread_joinwait、waitpid取消/终止pthread_cancelabort读取IDpthread_self()getpid()调度策略SCHED_OTHER、SCHED_FIFO、SCHED_RRSCHED_OTHER、SCHED_FIFO、SCHED_RR通信机制信号量、信号、互斥
3、锁、条件变量、读写锁无名管道、有名管道、信号、消息队列、信号量、共享内存2022-1-205创建线程 2022-1-206线程退出与等待 新创建的线程从执行用户定义的函数处开始执行,直到出现以下情况时退出:调用pthread_exit函数退出。调用pthread_cancel函数取消该线程。创建线程的进程退出或者整个函数结束。其中的一个线程执行了exec类函数执行新的进程。2022-1-207等待线程 2022-1-208取消线程 取消线程是指取消一个正在执行线程的操作,当然,一个线程能够被取消并终止执行需要满足以下条件: 该线程是否可以被其它取消,这是可以设置的,在Linux系统下,默认是可
4、以被取消的,可用宏分配是PTHREAD_CANCEL_DISABLE和PTHREAD_CANCEL_ENABLE; 该线程处于可取消点才能取消。也就是说,该线程被设置为可以取消状态,另一个线程发起取消操作,该线程并不是一定马上终止,只能在可取消点才中止执行。可以设置为立即取消和在取消点取消。可用宏为PTHREAD_CANCEL_DEFERRED和PTHREAD_CANCEL_ASYNCHRONOUS。2022-1-209pthread_cancel() 2022-1-2010设置可取消状态 可设置的state的合法值: 如果目标线程的可取消性状态为PTHREAD_CANCEL_DISABLE,
展开阅读全文