读书笔记(56)
线程同步之屏障属性
屏障的作用是允许每个线程完成自身任务之后等待,直到所有线程都达到某一点,然后从该点继续执行。
默认情况下屏障应用于单个进程的多个线程之间。
屏障的进程共享属性允许将屏障应用于多个进程之间,前提是多个进程能够访问到同一个屏障对象。
线程同步之条件变量属性
线程条件变量可以是线程以非竞争的方式同步执行。
线程条件变量支持两个属性:进程共享与时钟属性。
进程共享属性可以使条件变量被多进程的线程使用。
时钟属性控制计算pthread_cond_timedwait()
函数的超时参数(tsptr
)时采用哪个时钟。
线程同步之读写锁属性
线程同步之互斥量属性
线程属性
信号集及相关函数
信号集(sigset_t
)是表示多个信号的数据类型。
不同的信号编号可能会超过一个整型量的位数,所以不能用整型量中的一位代表一个信号。
POSIX.1定义数据类型sigset_t
用以表示信号集,并定义了信号的操作函数。
可靠信号
可靠信号的处理有两个过程如下:
- 信号产生:当这些事件(硬件异常(如除以0)、软件条件(如alarm定时器超时)、终端产生的信号或调用
kill
函数)发生时,内核会为进程产生一个信号,同时在进程表中设置一个标志。 - 信号递送:内核使目标进程对该信号作出反应称为信号递送:或是改变目标进程的执行状态(默认动作),或是开始执行信号处理程序,或两者都是。