多线程中递归锁的实现.

*引用本文请注明来自 blog.csdn.net/wtz1985       

在上一篇文章中,我已经阐述了多线程中简单锁的实现,可在结束的时候,我就提了那么一个问题,那就是如果在一个链表中进行插入时,要进行查询的操作,如果只是简单的锁,是没法实现的。所以“递归锁”就浮现于世了。

可能有些人看到递归这两个字,有点傻了眼,其实也没什么的,简单的介绍,就是进行简单的计数而已。刚开始引用锁的时候,就产生它,当在锁没有解开的时候,还要继续用锁,就简单的加一,解开一把就减一,当计数为零时,就把锁销毁掉。下面用程序来简单的阐述一下,递归锁是怎么实现的:

1、递归锁接口的定义。(锁的接口的定义已经在上一篇定义过了,这里不再重复)

  1. /*------ recursive_locker.h -------*/
  2. #ifndef _RECURSIVE_H
  3. #define _RECURSIVE_H
  4. #include "locker.h"
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java多线程递归可以通过创建多个线程来实现递归操作。具体实现方法如下: 1.创建一个继承Thread类的递归线程类,重写run()方法,在run()方法实现递归操作。 2.在递归线程类定义一个构造方法,用于传递递归参数。 3.在递归线程类定义一个静态变量,用于记录递归深度。 4.在递归线程类定义一个静态变量,用于记录递归线程数。 5.在递归线程类定义一个静态变量,用于记录递归线程的最大数目。 6.在递归线程类定义一个静态变量,用于记录递归线程的最大深度。 7.在递归线程类定义一个静态变量,用于记录递归线程的最小深度。 8.在递归线程类定义一个静态变量,用于记录递归线程的平均深度。 9.在递归线程类定义一个静态变量,用于记录递归线程的总数。 10.在递归线程类定义一个静态变量,用于记录递归线程的总时间。 11.在递归线程类定义一个静态变量,用于记录递归线程的平均时间。 12.在递归线程类定义一个静态变量,用于记录递归线程的最大时间。 13.在递归线程类定义一个静态变量,用于记录递归线程的最小时间。 14.在递归线程类定义一个静态变量,用于记录递归线程的总内存。 15.在递归线程类定义一个静态变量,用于记录递归线程的平均内存。 16.在递归线程类定义一个静态变量,用于记录递归线程的最大内存。 17.在递归线程类定义一个静态变量,用于记录递归线程的最小内存。 18.在递归线程类定义一个静态变量,用于记录递归线程的总CPU时间。 19.在递归线程类定义一个静态变量,用于记录递归线程的平均CPU时间。 20.在递归线程类定义一个静态变量,用于记录递归线程的最大CPU时间。 21.在递归线程类定义一个静态变量,用于记录递归线程的最小CPU时间。 22.在递归线程类定义一个静态变量,用于记录递归线程的总IO时间。 23.在递归线程类定义一个静态变量,用于记录递归线程的平均IO时间。 24.在递归线程类定义一个静态变量,用于记录递归线程的最大IO时间。 25.在递归线程类定义一个静态变量,用于记录递归线程的最小IO时间。 26.在递归线程类定义一个静态变量,用于记录递归线程的总网络时间。 27.在递归线程类定义一个静态变量,用于记录递归线程的平均网络时间。 28.在递归线程类定义一个静态变量,用于记录递归线程的最大网络时间。 29.在递归线程类定义一个静态变量,用于记录递归线程的最小网络时间。 30.在递归线程类定义一个静态变量,用于记录递归线程的总磁盘时间。 31.在递归线程类定义一个静态变量,用于记录递归线程的平均磁盘时间。 32.在递归线程类定义一个静态变量,用于记录递归线程的最大磁盘时间。 33.在递归线程类定义一个静态变量,用于记录递归线程的最小磁盘时间。 34.在递归线程类定义一个静态变量,用于记录递归线程的总时间。 35.在递归线程类定义一个静态变量,用于记录递归线程的平均时间。 36.在递归线程类定义一个静态变量,用于记录递归线程的最大时间。 37.在递归线程类定义一个静态变量,用于记录递归线程的最小时间。 38.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 39.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 40.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 41.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 42.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 43.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 44.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 45.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 46.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 47.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 48.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 49.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 50.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 51.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 52.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 53.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 54.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 55.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 56.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 57.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 58.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 59.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 60.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 61.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 62.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 63.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 64.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 65.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 66.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 67.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 68.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 69.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 70.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 71.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 72.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 73.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 74.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 75.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 76.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 77.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 78.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 79.在递归线程类定义一个静态变量,用于记录递归线程的平均等待时间。 80.在递归线程类定义一个静态变量,用于记录递归线程的最大等待时间。 81.在递归线程类定义一个静态变量,用于记录递归线程的最小等待时间。 82.在递归线程类定义一个静态变量,用于记录递归线程的总等待数。 83.在递归线程类定义一个静态变量,用于记录递归线程的平均等待数。 84.在递归线程类定义一个静态变量,用于记录递归线程的最大等待数。 85.在递归线程类定义一个静态变量,用于记录递归线程的最小等待数。 86.在递归线程类定义一个静态变量,用于记录递归线程的总等待时间。 87.在递归线程类定义一个

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值