pthread theory and usage


why pthread


开销

内存共享于同步

调度和协同合作

  1. CPU与I/O的重叠协作:例如,一个程序可能分多段对I/O进行长操作,当一个线程正在等待一个I/O系统调用完成时,CPU可以用其它线程进行现有的密集工作;
  2. 优先级/实时调度:可预定更重要的任务取代或者中断低优先级的任务;
  3. 异步事件处理:一些不确定次数和持续时间的服务事件是交叉执行的任务。例如,Web服务器可以在应答前一个传输数据的请求时候,处理新的数据请求。

  • 总的来说,Unix环境里的线程有如下特点:
  1. 它生存在进程中,并使用进程资源;
  2. 拥有它自己独立的控制流,前提是只要它的父进程还存在,并且OS支持它;
  3. 它仅仅复制可以使它自己调度的必要的资源;
  4. 它可能会同其它与之同等独立的线程分享进程资源;
  5. 如果父进程死掉那么它也会死掉——或者类似的事情;
  6. 它是轻量级的,因为大部分的开支已经在它的进程创建时完成了。

  • 因为在同一进程内的线程分享资源,所以:
  1. 一个线程对共享的系统资源做出的改变(例如关闭一个文件)会被所有的其它线程看到;
  2. 指向同一地址的两个指针的数据是相同的;
  3. 对同一块内存进行读写操作是可行的,但需要程序员作明确的同步处理操作。


implementation

fork vfork clone pthread_create


usage and API

create

destory

synchronization

mutex


wait 

join


http://www.cnblogs.com/blueclue/archive/2010/07/16/1779024.html


http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part1/


POSIX线程



Linux 线程实现机制分析

http://www.ibm.com/developerworks/cn/linux/kernel/l-thread/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值