在项目中遇到的错误——软件测试第一次作业

  在上学期《操作系统》这么课中,我们学习了锁的机制。所谓锁,就是把一个资源用一个锁锁起来,不允许其他任务使用。换句话说,就是防止多个任务竞争共享资源,导致程序出错。

  项目中,我们需要做的是通过对公共资源进行加锁来实现对资源的限制访问,但是在实现锁的过程中,发生了错误。

我发现加了锁之后,其他任务在程序运行过程中一直无法使用这些公共资源。经过查询资料和查看编译器报错原因,发现是由于加锁后没有相应的写出解锁动作。导致上锁资源无法被其他任务使用。

  相应加锁和解锁伪代码如下

   Lock lock = new ReentrantLock();

       .....
       lock.lock();
   ...
   lock.unlock();
posted on 2017-02-27 19:58  fy2014  阅读(70)  评论(0编辑  收藏  举报