- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于线程退出方式.PDF
关于线程退出方式 一般来说,线程有4 种退出方式: (1) 线程执行完后隐式退出,即不调用任何结束线程的函数,自动退出; (2 ) 由线程自身调用pthread_exit(void *retvalue)显示退出,这是一种自杀式退出方式; (3 ) 被其他线程调用pthread_cancel (pthread_t thread)结束由thread 指定的线程,调用是 异步的,且不管对方线程是否满足正常退出条件,都会惨无人道的强杀对方; (4 ) 被其他线程调用pthread_join (pthread_t thread, void** retvalue)结束由thread 指定的线 程,该调用会挂起当前线程直到对方线程正常退出为止,这是一种比较人道的他杀; 各种情况测试: (1)测试pthread_cancel 是否是异步调用,即不会阻塞当前线程; 确实是异步调用,不会阻塞。而且即使对方线程没有满足退出条件,也可以强制使其退出。 (2 )测试pthread_join 是否是阻塞调用,即会一直等到对方线程杀死为止; 确实是阻塞调用,且如果对方线程没有满足退出条件,会一直阻塞等待对方线程满足退出条 件,这样很容易引起死锁,因此调用pthread_join 之前必须先使对方线程的退出条件得到满 足。 (3 )如果对方线程已经退出,调用pthread_cancel 会得到什么返回值? [ESRCH] No thread could be found corresponding to that specified by the given thread ID. (4 )如果对方线程已经退出,调用pthread_join 会得到什么返回值?会一直阻塞吗? 不会阻塞,会立即返回“0 ”值,表明线程已经退出。 (5 )先调用pthread_cancel,再调用pthread_join 会得到什么结果? 结果同(4 ) (6)如果线程一直阻塞等待mutex,调用pthread_cancel 会怎么样?能正常结束目标线程 吗? 调用pthread_cancel 后会立即返回,且返回值为“0 ”,但目标线程并没有真正结束,还是一 直在等mutex 。但是如果用pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS, oldtype) 在目标线程里设置取消类型为 PTHREAD_CANCEL_ASYNCHRONOUS 后, pthread_cancel 可以正常结束目标线程。 (7 )如果线程一直阻塞等待mutex,调用pthread_join 会怎么样?能正常结束目标线程吗? 不管目标线程的取消类型是否为 PTHREAD_CANCEL_ASYNCHRONOUS ,都不能正常结 束目标线程,且会阻塞在pthread_join 上,实际上取消类型只对pthread_cancel 有效。 (8 )如果线程一直阻塞在条件等待,调用pthread_cancel 会怎么样?能正常结束目标线程 吗? pthread_cond_wait()和pthread_cond_timedwait()及sem_wait()都被实现为取消点,可以正常结 束目标线程,但如果pthread_cond_wait()被取消,mutex 是保持锁定状态的,因而需要定义 退出回调函数来为其解锁。 void * child1(void *arg) { pthread_cleanup_push(pthread_mutex_unlock,mutex); while(1) { pthread_mutex_lock(mutex); pthread_cond_wait(cond,mutex); pthread_mutex_unlock(mutex); sleep(5); } pthread_cleanup_pop(0); /* comment 2 */ } 线程取消详细介绍(pthread_cancel) 1、线程取消的定义 一般情况下,线程在其主体函数退出的时候会自动终止,但同时也可以因为接收到另一个线 程发来的终止(取消)请求而强制终止。 2、线程取消的语义 线程取消的方法是向目标线程发Cancel 信号,
您可能关注的文档
- 信息技术开发服务合同技术附件-CSTO-中文软件外包和项目交易平台.doc
- 修改组织章程细则及一位股东抵押所持有的内资股-浙大兰德.PDF
- 债券市场研究债券市场研究-中诚信国际信用评级有限责任公司.PDF
- 像这种数个行程同时存取和处理相同资料的情况-Min-ShiangHwang.ppt
- 僵直性脊椎炎与免疫风湿的疾病-廖桂声中医诊所.PDF
- 儿童语言发展与矫治-国立清华大学.PDF
- 先到先服务排程法5-2.PDF
- 先序遍历算法.ppt
- 光的折射-130教育网.ppt
- 免疫知识简介计算机病毒的免疫技术.ppt
- 关于组织2008长江大学电子设计竞赛的通知-长江大学教务处.doc
- 关于网上身份证号修改的操作流程-厦门市地方税务局.doc
- 关于网络环境中学生自主学习的调查分析和应对策略-上海市市西初级中学.doc
- 关于计算存货的定期后进先出法和先进先出法的简单算法.PDF
- 关系属性归因与涉入对服务补救期望之影响-以-Academic-journalorg.PDF
- 兴办工业人申请利用毗连非都市土地扩展计画申请书.doc
- 其他应收帐款建立-云端ERPB2.PDF
- 具多帐号管理功能之邮件代理人伺服器设计与实作-NPUCSIE.PDF
- 具错误侦测能力之晶片网路资料封包预取装置-朝阳科技大学资讯学院.PDF
- 内容提要分页式存储管理.PDF
最近下载
- 移动L1认证传输专业试题汇总(含答案).pdf VIP
- (新版)中移动传输专业L1认证考试复习题库-上(单选题汇总).docx VIP
- 计算机专业(基础综合)模拟试卷3(共456题).pdf VIP
- 项目编号szcg2007041645 项目名称2007年度深圳市储备土地管理.doc
- 离婚登记申请受理回执单民法典版(可直接打印).pdf VIP
- 人教五年级数学上册1.2.2 倍数是小数的实际问题和乘法验算 课时训练.doc VIP
- 光伏电站检修规程(行业标准).docx VIP
- (新版)中移动传输专业L1认证考试复习题库-下(多选题汇总).docx VIP
- 基于大概念的初中音乐单元整体教学设计探索.doc VIP
- 《企业经营数据分析》课件.ppt VIP
文档评论(0)