UNIX网络编程卷一:第三十章 客户/服务器程序设计范式

本章介绍了9种,服务器设计范式。

代码总结: https://github.com/huntinux/unpvol1/tree/master/30chp


使用互斥锁和条件变量的例子


使用举例: 30章的 serv08.c 使用了互斥锁和条件变量。

理解条件变量的关键是,弄清楚让线程休眠的条件是什么,比如server08, 线程休眠的条件是 iput == iget

主线程在将此条件改变时(修改iput的值),会通知休眠的线程。

此外,休眠线程在得到此通知时,仍然需要判断该条件,因为所有休眠的线程都会得到此通知,“比较快的”线程会首先修改此条件?


UNIX网络编程卷一:第三十章 客户/服务器程序设计范式_第1张图片

你可能感兴趣的:(UNIX网络编程卷一:第三十章 客户/服务器程序设计范式)