我在一个学校实验室工作,我们被指示为一个计数程序创建一个递归互斥锁。我写了一些代码(不起作用),但我认为这主要是因为我不理解使用递归互斥锁背后的真正想法。谁能详细解释一下递归互斥锁应该做什么/看起来像什么?另外,如果有人对此感到好奇,这里有实现此功能所需的代码。non-zero integer if errors occur.
int recursive_mutex_unlock (recursive_mutex_t
因此,我遇到了一种叫做尾递归的东西。我知道如何编写尾递归方法。例如-添加列表中的元素(当然可以使用reduce方法完成),但为了理解,我编写了一个尾递归方法:def sum(l: List[Int], acc:Int): Int = l match { case x :: xs => sum(xs, acc + x)Scala运行时如何在内部处理这种递归?