多了一个时间参数,经历 abstime 段时间后,即使条件Р变量不满足,阻塞也被解除。Р pthread_cond_signal 函数它的函数原型为: Рextern int pthread_cond_signal (pthread_cond_t *__cond) Р它用来释放被阻塞在条件变量 cond上的一个线程。多个线程阻塞在此条件变量上时,哪一Р个线程被唤醒是由线程的调度策略所决定的。要注意的是,必须用保护条件变量的互斥锁Р来保护这个函数,否则条件满足信号又可能在测试条件和调用 pthread_cond_wait函数之Р间被发出,从而造成无限制的等待。Р六、实验步骤Р1、阅读源代及编译应用程序Р进入exp/basic/02_pthread目录,使用vi编辑器或其他编辑器阅读理解源代码。运行makeР产生 pthread 可执行文件。Р2、下载和调试Р切换到终端窗口,使用 NFS mount 开发主机的/arm2410s 到/host 目录。Р Р进入/host/exp/basic/pthread 目录,运行 pthread,观察运行结果的正确性。运行程序最Р后一部分结果如下: Рwait for not empty Р put-->994 Р put-->995 Р put-->996 Р put-->997 Р put-->998 Р put-->999 Рproducer stopped! Р 993-->get Р 994-->get Р 995-->get Р 996-->get Р 997-->get Р 998-->get Р 999-->get Рconsumer stopped! Р[/host/exp/basic/02_pthread]Р七、思考题Р1.加入一个新的线程用于处理键盘的输入,并在按键为 ESC 时终止所有线程。Р2.线程的优先级的控制。