2013年7月17日

UNIX环境高级编程——线程私有数据

摘要: 线程私有数据(Thread-specific data,TSD):存储和查询与某个线程相关数据的一种机制。在进程内的所有线程都共享相同的地址空间,即意味着任何声明为静态或外部变量,或在进程堆声明的变量,都可以被进程内所有的线程读写。一个线程真正拥有的唯一私有存储是处理器寄存器,栈在“主人... 阅读全文

posted @ 2013-07-17 17:04 胡永光 阅读(187) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——互斥量属性

摘要: 互斥量具有一些属性,通过修改这些属性可以控制锁的一些行为。缺省的互斥锁属性及其值如下:pshared: PTHREAD_PROCESS_PRIVATEtype: PTHREAD_MUTEX_DEFAULTprotocol: ... 阅读全文

posted @ 2013-07-17 16:17 胡永光 阅读(240) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程属性之分离属性

摘要: 说到线程的分离状态,我认为,之所以会有这个状态,是因为系统对某些线程的终止状态根本不感兴趣导致的。 我们知道,进程中的线程可以调用:int pthread_join(pthread_t tid, void **rval_ptr); 来等待某个线程的终止,获得该线程的终止状... 阅读全文

posted @ 2013-07-17 16:07 胡永光 阅读(148) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程属性之并发度

摘要: 并发度控制着用户级线程可以映射的内核线程或进程的数目。如果操作系统的实现在内核级的线程和用户级的线程之间保持一对一的映射,那么改变并发度并不会有什么效果,因为所有的用户级线程都可能被调度到。但是,如果操作系统的实现让用户级线程到内核级线程或进程之间的映射关系是多对一的话,那么在给定时间内... 阅读全文

posted @ 2013-07-17 15:48 胡永光 阅读(196) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程属性

摘要: pthread_attr_t 的缺省属性值 属性 值 结果 scope PTHREAD_SCOPE_PROCESS 新线程与进程中的其他线程发生竞争。 detachstate PTHREAD_CREATE_JOINABLE 线程退出后,保留完成状态和线程... 阅读全文

posted @ 2013-07-17 13:32 胡永光 阅读(231) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程限制

摘要: 阅读全文

posted @ 2013-07-17 13:31 胡永光 阅读(90) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程同步之互斥锁、读写锁和条件变量(小结)

摘要: 一、使用互斥锁1、初始化互斥量pthread_mutex_t mutex =PTHREAD_MUTEX_INITIALIZER;//静态初始化互斥量int pthread_mutex_init(pthread_mutex_t*mutex,pthread_mutexattr_t*attr);//动态... 阅读全文

posted @ 2013-07-17 12:27 胡永光 阅读(172) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——线程与进程区别

摘要: 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:(1)一个程序至少有一个进程,一个进程至少有一个线程。(2)线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内... 阅读全文

posted @ 2013-07-17 11:57 胡永光 阅读(122) 评论(0) 推荐(0) 编辑

UNIX环境高级编程——死锁

摘要: 操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机制会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中... 阅读全文

posted @ 2013-07-17 11:53 胡永光 阅读(196) 评论(0) 推荐(0) 编辑

导航