http://www.ibm.com/developerworks/cn/linux/l-linux-synchronization.html?ca=drs-cn