博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
锁对象-条件对象-synchronized关键字
阅读量:4685 次
发布时间:2019-06-09

本文共 735 字,大约阅读时间需要 2 分钟。

1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.ReentrantLock; 4  5 public class BankCondition { 6     public BankCondition(int n,double initialBalance){ 7         accounts = new double[n]; 8         for(int i=0;i

  锁用来保护代码片段,任何时刻只有一个线程执行被保护的对象;

  锁可以管理试图进入被保护代码段的线程;

  锁可以拥有一个或多个相关的条件对象;

  每个条件对象管理那些已经进入被保护代码段但还不能运行的线程。

Java中的对象都有一个内部锁,如果一个方法用synchronized关键字声明,那么对象的锁将保护整个方法。也就是说,要调用该方法,线程必须获得内部的对象锁。

public synchronized void method(){    method body;}等价于:public void method(){    this.intrinsicLock.lock();    try    {        method body;    }    finally    {        this.intrinsicLock.unlock();    }

 

 

转载于:https://www.cnblogs.com/happinessqi/p/3435910.html

你可能感兴趣的文章
追加内容到指定的行
查看>>
Centos7下安装Redis
查看>>
Codeforces Round #369 (Div. 2) C. Coloring Trees DP
查看>>
Android Preference 实现长按监听 long-clickable
查看>>
03 django1.0.2 默认管理配置
查看>>
mysql 中 unix_timestamp和from_unixtime函数
查看>>
Java Web项目BlogAutoGenerator编写日志1
查看>>
简单数论(一)
查看>>
Populating Next Right Pointers in Each Node
查看>>
CXF和Axis的比较【转】
查看>>
设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名...
查看>>
Android 轮播
查看>>
我的人生导师
查看>>
Ubuntu 18.04 安卓调试小米
查看>>
<泛> STL - vector 模拟实现
查看>>
[Error]configure: error: Package requirements (fuse >= 2.3 glib-2.0 gthread-2.0) were not met:
查看>>
MyBatis学习总结_06_调用存储过程
查看>>
java课程课后作业190425之一维数组最大子数组—功能扩展(界面实现)
查看>>
Android开发:Eclipse+OpenCV环境搭建
查看>>
netlink--内核态与用户态通信
查看>>