Story

老师为了得到一列学生的名字,可以对自己的学生这么说:我会发给第一个同学一张,第一个同学把纸向后传,每个通过学都重复上一个同学的动作,直到传到最后一名学生。最后一名学生写名字往回传,每个同学再重复上一个同学的动作,直到第一个同学

这就是一个相对完整的递归

Question

为什么递归不能用互斥锁?

  1. 互斥锁在本故事中可以理解为:我没有在这个上写下名字之前谁都不准写。
  2. 互斥锁从第一个人就开始给这张加锁,所以到了最后一名同学要开始写名字的时候已经加了一堆锁了。但是最后一名同学不在上写完名字又不能传回去。这就产生了悖论,也就是死锁。