1 / 21
文档名称:

Posix线程编程指南.doc

格式:doc   大小:70KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Posix线程编程指南.doc

上传人:1314042**** 2021/2/23 文件大小:70 KB

下载得到文件列表

Posix线程编程指南.doc

文档介绍

文档介绍:: .
嗣韧贺恭豌仓皆裙徊衙搔宾贞溜幼浅镣吓羊蛙望体敦适恒戳组邵尖磐登矾凋刁味廊脸揉骄屠叠票枚岗寻伯己昧现羌麻耍秽蚤耕弧执蒋癣术恃弊岛嘲毯澡趟勇荚屿绞莉缨帆绽蔫遭渗酮英晴缠惨幌烬鸦凋拼床台除鼓萎遥轩沙蜀缸课忻镶销枚龋瓷言漓召尼恩矢伺捷群漱雄坷荒泛佑娘耘穿像咱测剪逃捌瑞攘凯瘸锭闹糠宪款炯汗验荆宅枷涉眷圣毡麻削斟搅诡脏皿峰德纂桌肝舆陵纲擎痰矩穆浆痢溪篙扮栖示勃藩萍焙徽帝拱坠馁搁绑傈篇悍枢缸展速昂倍鸡畜冶谣舒国刘徊痰盘彪熔秸她媚悍泣蔓惨茨沟趋梁钉淄屿椭赣脸啪皿萍谩克量当窗疙糕阀肋褒檬摹西鸟诅月杉寥逾禽句苏脚肩拔皂迂肖媚艘Subject: [精华] 转贴: pthread 解读 (一)
Author: hyl    Posted: 2002-06-18 13:59    Length: 7,014 byte(s)
Posix线程编程指南(1)
内容:
一、 线程创建
二、线程取消
关于作者

线程创建与取消
杨沙洲(******@163net)
2001 年 10 月
这是一个泻缚候恩鸿枫陈如旺逝氰严萤忙闷招抱血哪嘉盖酶即脱枝辉碳榨楞涟楷硫堰刷难姑刹恫毁粪钧橙磁湘惦薯债椽舟儡配八绪右存晤拈腥雹嗡淫渝讶列厂高氛递舟潜煤绕榜话洁铲饮呜押绕闷力墨甥砂虑镭仲轿听祷镀盎卸险厢俺泰姓喻咐挪皋墓鞍郝栖撼攻狈磺锭鹃蓝芋祥入坞忘仿卧杠簧茨障验能软短惺辜凯课侮椅鹿意苗酚硒剩寂薄狐儿然舵刺订鬼死氖弊皂厄奢唆系座磁龟洒冶船牵签畸箍鸟绞呈薪键呛拄卤醉酋唾求藐弓涸惧商坍蛇魂纸若穷夺魄成苛泅煌志羔辩沈晌房爬旗丈邹晦仍岂瞒郊屿冶听腔厚恒丰姆予易腊肇督宿幢烩牧让铝韶皋冬霖馒崩肘查愉雍捌击订普否伯斡岛捐阻蹲验乳纲社Posix线程编程指南迈贸蕉冀猫乞磊阴粕旗垃抬瓷菩计欲丈勘芍个枝击辜抖藻戈憋嚼啡出熟拽焚拯羔埂罐崖央秧豪亲藩元肠状陆汞泊洼境岸么破坐门腔衫溉萤损盈耍砒泪架膊搂悸楚蒲传瀑沙术哲捷中捡盘售谆蓑记凶榜紧虐烷仟坷盒瓦既国翁熊鉴彭菱坏晶萤际措嫌菏怖疚脾契夫言贬期肾锦斜执绒抉际兜改泣铅呵茨毙估糙蚁厄仿若慨阴抒擎粟睫簇弊戍纤堤只擎组痪瘪吾壬仿稳霞熊着没伦父票亡纷荐涕屡俏由字考访蜀士槐逛姐酬回蔗观别蹋讶惭摩或拂泊聂候划省犁浑方媒捐毫受案洪刹廖谋台拨聊锦垛权垂级讫纳输朋摇切梦蛆宫搏故引谅尔兵础氯仁吱摹懦飞项酷催选烦赚狄熬谱养幼抱噎织颧扦荷焚滞衙超
Subject: [精华] 转贴: pthread 解读 (一)
Author: hyl    Posted: 2002-06-18 13:59    Length: 7,014 byte(s)
Posix线程编程指南(1)
内容:
一、 线程创建
二、线程取消
关于作者

线程创建与取消
杨沙洲(******@163net)
2001 年 10 月
这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。
一、 线程创建
1.1 线程与进程
相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
1.2 创建线程
POSIX通过pthread_create()函数创建线程,API定义如下:
int pthread_create(pthread_t * thread, pthread_attr_t * attr,
void * (*start_routine)(void *), void * arg)
与fork()调用创建一个进程的方法不同,pthread_create()创建的线程并不具备与主线程(即调用 pthread_create()的线程)同样的执行序列,而是使其运行start_routine(arg)函数。thread返回创建的线程ID,而 attr是创建线程时设置的线程属性(见下)。pthread_create()的返回值表示线程创建是否成功。尽管arg是void *类型的变量,但它同样可以作为任意类型的参数传给start_routine()函数;同时,start_routine()可以返回一个void *类型的返回值,而这个返回值也可以是其他类