21.3 共享受限的资源

原创 2016年06月01日 20:46:47

21.3.1 不正确的访问

当有两个或更多的任务竞争响应某个条件,产生冲突或不一致结果

21.3.2 解决共享资源竞争


java提供了关键字synchronize来保护代码片段,当任务要执行被synchronize关键字保护的代码片段的时候,它将检查锁是否可用,然后获取锁,执行代码,释放锁。

当在对象上调用器任意synchronize方法时候,此对象都被加锁,这时对象上的其他synchronize方法只有等前一个方法调用完毕并释放锁之后才能被调用。


使用并发是,将域设置为private是非常重要的,否则,synchronize关键字就不能防止其他任务直接访问域,就会产生冲突。


一个任务可以多次获得对象的锁。


2.解决的方法是显示的Lock对象

private Lock lock=new ReentranLock();


  lock.lock();

 lock.unlock();

在lock与unlock之间创建了临界资源,使用lock对象是,



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

零配置 之 21.3 通过注解来实现零配置

通过注解来实现零配置 21.3.1  概述 在实际开发中,光是简单的通过默认的方式来进行配置,是满足不了实际项目的需要的,这就需要使用注解,来进一步控制程序各个部分的对应关系。 就其实质,就是...

JAVA编程思想学习总结:第21章第3节共享受限资源

(1)解决共享资源竞争 1、利用synchronized关键字 当任务要执行被synchronized关键字保护的代码片段的时候,它将检查锁是否可用,然后获取锁,执行代码,释放锁。 所有对象都自动含有...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Java多线程共享受限资源

一、多线程并发问题 所谓的多线程并发问题,就是在多线程的情况下,一个任务对共享数据操作的中间状态暴露给其他任务。即在一个线程的任务中,会对一个多线程共享的数据进行操作,在操作完成之前,对数据的更改对其...
  • fso918
  • fso918
  • 2013-12-18 14:31
  • 1342

Java并发(2) 共享受限资源

2. 共享受限资源 2.1

Java并发之共享受限资源

当使用多线程时,多个线程之间彼此相互干涉的问题也就出现了。比如多线程爬虫时,多个线程同时维护一个uri队列,这样就可能会存在冲突。例如线程A准备取uri_a,但是线程B突然就抢走了uri_a,再比如线...

java多线程系列----------- 共享受限资源(一)

可以把单线程程序当作在问题求解域求解的单一实体,每次只能做一件事。因为只有一个实体,所以永远不用担心诸如“两个实体试图同时使用一个资源”这样的问题——比如,两个人在同一个地方停车,两个人同时走过一扇门...

Java编程思想 之 共享受限资源

并发程序可以同时做多件事情,但是, 两个或多个线程彼此互相干涉的问题也就出现了。以下例子出自<>一书的并发部分.

java多线程系列----------- 共享受限资源(二)

有时,只是希望防止多个线程同时访问方法内部的部分代码而不是防止访问整个方法。通过这种方式分离出来的代码段被称为临界区(critical section),它也使用synchronized关键字建立。这...

资源受限--使用signaltapII调试FPGA设计中的bug

FPGA的资源是有限的。 riple     设计已经占用了可观的资源(%的LE,%的MB),signaltap还要和设计抢占资源。“抢占”在这里是很贴切的,既包括抢占LE、MB,还包括布局资源和布线...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)