博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java并发编程之lock锁
阅读量:5144 次
发布时间:2019-06-13

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

使用显示的lock锁

lock对象必须显式的,创建,锁定,释放。
接上一节synchronized的插入例子
改写成lock形式:

class InsertData {    private ArrayList
arrayList = new ArrayList
(); private Lock lock = new ReentrantLock(); public void insert(Thread thread) { lock.lock(); try { for (int i = 0; i < 5; i++) { System.out.println(thread.getName() + "在插入数据" + i); arrayList.add(i); } return; } finally { lock.unlock(); } }}

注意:(1)先创建Lock对象,接着是对lock对象的调用,必须放置在finally字句中带有unlock的try-finally字句中。

(2)return 字句必须在try字句中出现,确保unlock不会过早发生,将数据暴露给下一个线程。

转载于:https://www.cnblogs.com/wangxiaopei/p/8551255.html

你可能感兴趣的文章
安装 Express
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
【Linux】ping命令详解
查看>>
Oracle中包的创建
查看>>
关于PHP会话:session和cookie
查看>>
jQuery on(),live(),trigger()
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
导航,头部,CSS基础
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
注解小结
查看>>
list control控件的一些操作
查看>>