博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java多线程(九) synchronized 锁对象的改变
阅读量:6315 次
发布时间:2019-06-22

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

public class MyService {    private String lock = "123";    public void testMethod() {        synchronized (lock) {            System.out.println(ThreadB.currentThread().getName() + "begin " + System.currentTimeMillis());            lock="456";            try {                ThreadB.sleep(2000);                System.out.println(ThreadB.currentThread().getName() + "end " + System.currentTimeMillis());                            } catch (InterruptedException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }    }

锁lock从“123” 改为“456”

ThreadA和ThreadB

public class ThreadA extends Thread {    private MyService myService;    public ThreadA(MyService myService) {        this.myService = myService;    }    public void run() {        myService.testMethod();    }}public class ThreadB extends Thread {    private MyService myService;    public ThreadB(MyService myService) {        this.myService = myService;    }    public void run() {        myService.testMethod();    }}
View Code

Run

public class Run {    public static void main(String[] args) throws InterruptedException {        MyService myService = new MyService();                ThreadA threadA= new ThreadA(myService);        threadA.start();        Thread.sleep(50);        ThreadA threadB= new ThreadA(myService);        threadB.start();            }        }

如果将Thread.sleep(50) 注释掉,A和B获取的锁都是“123”,虽然将锁改为“456”,结果还是同步的。

 

转载于:https://www.cnblogs.com/newlangwen/p/7596416.html

你可能感兴趣的文章
Java Web-----JSP与Servlet(一)
查看>>
Maven搭建SpringMVC+Mybatis项目详解
查看>>
关于量子理论:最初无意的简化,和一些人有意的强化和放大
查看>>
CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)
查看>>
“区块链”并没有什么特别之处
查看>>
没有功能需求设计文档?对不起,拒绝开发!
查看>>
4星|《先发影响力》:影响与反影响相关的有趣的心理学研究综述
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
python之 列表常用方法
查看>>
vue-cli脚手架的搭建
查看>>
在网页中加入百度搜索框实例代码
查看>>
在Flex中动态设置icon属性
查看>>
采集音频和摄像头视频并实时H264编码及AAC编码
查看>>
3星|《三联生活周刊》2017年39期:英国皇家助产士学会于2017年5月悄悄修改了政策,不再鼓励孕妇自然分娩了...
查看>>
高级Linux工程师常用软件清单
查看>>
堆排序算法
查看>>
folders.cgi占用系统大量资源
查看>>
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>