版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多核软件开发技术讲座5: Linux多线程编程和调优,北京大学2008春季课程*感谢:感谢英特尔资助本课程项目,本讲座的主要内容是POSIX线程库Pthreads介绍POSIX线程库提供的操作线程的属性、线程互斥和同步使用GDB调试线程和线程调优。POSIX线程库Pthreads介绍说,使用fork()创建一个进程是很昂贵的,而且进程之间的通信模式也很复杂。操作系统在进程间切换比在线程间切换需要更多的时间。使用pthreads库创建线程来创建进程比创建线程要快。线程之间的通信模式允许操作系统比进程更容易和更快地在线程之间切换。操作POSIXpthreads库提供的基本线程,创建线程,# inc
2、ludeinpthread _ create(pthread _ t * thread,pthread _ attr _ t * attr,void *(start _ routine)(void *),void * arg);线程退出,显示的调用pthread_exit()结束执行voidpthread_exit(void*retval)的线程;让线程处理程序返回使用pthread_cancel()函数来终止pthread _ cancel (pthread _ tthread)中其他线程的执行。等待线程结束,并使用pthread_join()函数等待创建的线程结束。pthread_join
3、()函数暂停创建线程的线程的执行,直到它等待子线程函数prototype:int pthread _ join(pthread _ tth,void * * thread _ return);通过线程的分离,主线程可以不断地创建子线程本身能够回收内存资源的函数的原型:intpthread _ detach(pthread _ tth);通常,pthread_detach()和pthread_join()不能同时使用。线程、线程互斥和同步、互斥、互斥、互斥体(Mutex: MUTualExclusiondevice)互斥体的属性具有以下特征:原子性:互斥体上的锁定和解锁操作是原子的和统一的:除非
4、拥有互斥体的线程释放互斥体,否则其他线程不能拥有这个互斥体而不用等待;等待互斥体的线程处于等待状态,直到要等待的互斥体处于解锁状态。此时,操作系统负责唤醒等待这个互斥体的线程。在POSIX线程库中,有三种类型的互斥体:快速互斥体递归互斥体错误检查互斥体。,POSIX朱庇特先生互斥的范仲淹,intpthread _ mutex _ init(pthread _ mutex _ t * mutex,const thread _ mutex attr _ t * mutex attr);intpthread _ mutex _ lock(pthread _ mutex _ t * mutex):in
5、tpthread _ mutex _ try lock(pthread _ mutex _ t * mutex):intpthread _ mutex _ unlock(pthread _ mutex _ t * mutex):intpthread _ mutex _ destroy(pthread _ mutex _ t * mutex):啐唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻唻,你说什么,-你好-你好-你好,我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊,韩升平,韩升平,韩升平互斥的范仲淹是范
6、仲淹还是范仲淹,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说.pthread _ cond _ t cond=pthread _ cond _ initialize。intpthread _ cond _ init(pthread _ cond _ t * cond,pthread _ cond attr _ t * cond _ attr):pthread _ cond _ signal(pthread _ cond _ t * cond)指令:intpthread _ cond _ broad
7、cast(pthread _ cond _ t * cond)指令:intpthread _ cond _ wait(pthread _ cond _ t * cond,pthread_mutex_t*mutex):intpthread _ cond _ time dwit(pthread _ cond _ t * cond,pthread _ mutex _ t * mutex,conststructtimespec *弃权);pthread _ cond _ destroy(pthread _ cond _ t * cond)指令:鲁仲尼鲁仲尼,intpthread _ setancels
8、tate(int state,int * old state)intpthread _ setanceltype(int type,int * old type)voidpthread _ test cancel(请参阅);POSIX魏冄,九月POSIX式范仲裁庭页:1诶诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟intsem_init(sem_t*sem、intpshared、unsignedintvalue):int _ wait(无_ t *无):int _ try wait(无_ t *无):S7-1200可编程控制器
9、:int _ get值(无_ t *无、int * sval):int _ destroy(无_ t *无):胡志明先生,# includeinpthread _ sigsk(in show、constsigset_t*newmask、sigset _ t * old mask);intpthread _ kill(pthread _ tthread,无符号):intsigwait(constsigset_t*set,int * SIG);僧曰gdb(gdb)朱庇特朱庇特GDB朱庇特维泰维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因维泰因我爱你你是谁
10、gdb(gdb)朱庇特?朱庇特,朱庇特朱庇特朱庇特我爱你绿筠,僧曰gdb(gdb)朱庇特朱庇特,哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟gdb(gdb)朱建强啊,喂喂喂喂喂喂喂喂喂喂喂喂喂喂-g阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔b .非政府组织阿奈威打断一下范思哲范思哲范思哲我会的阿奈威列表(列表)苏里南苏里南苏里南苏里南苏里南苏里南苏里南-r阿奈威跑啊!吕宋吕宋吕宋吕宋,哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 励志教育班主题班会
- 教育整顿专题汇报实施纲要
- 门诊就诊标准化流程
- 生命能量探索与研究
- 2026上半年中小学教师资格(答辩)模拟试题及答案解析
- 春天树叶绘画技法教学课件
- 健康教育讲座
- 技能教育课件
- 无偿捐献协议书
- 高考心理护航主题班会课件
- 塑造非权力影响力
- 金口中心幼儿园园本课程评价体系及评估细则
- 老师我们的朋友
- 大学生志愿服务西部计划考试复习题库(笔试、面试题)
- 回族上坟怎么念
- GB/T 42415-2023表面活性剂静态表面张力的测定
- YY/T 1681-2019医疗器械唯一标识系统基础术语
- GB/T 25380-2010数控滚齿机精度检验
- plm实施工具11培训课件库cmii培训课件
- 《社会工作伦理案例分析》课件011 妇女社会工作伦理
- Unit 3 Lesson 1 Spring Festival 课件-高中英语北师大版(2019)必修第一册
评论
0/150
提交评论