java学习(163):同步方法锁
public class SynMethon implements Runnable{private double money=1000000;public void run(){dbMoney();}//同步方法private synchronized void dbMoney(){Thread t=Thread.currentThread();for(int i=1;i<=10;i++){if(t.getName().equals( "会计" )){money+=i*10;System.out.println( t.getName()+"正在整理账户" );}if(t.getName().equals( "出纳" )){money-=i*5;System.out.println( t.getName()+"正在支取账户" );}System.out.println( "当前金额为"+money );try {Thread.sleep( 1000 );}catch (InterruptedException e){e.printStackTrace();}}}
}
测试类
public class test110 {public static void main(String[] args){//测试同步方法SynMethon synMethon=new SynMethon();Thread kuaiji=new Thread( synMethon,"会计" );kuaiji.setPriority( Thread.MAX_PRIORITY );kuaiji.start();Thread chuna=new Thread( synMethon,"出纳" );chuna.start();}
}
运行结果
java学习(163):同步方法锁相关推荐
- Java:java学习笔记之锁机制的简单理解和使用
锁机制的简单理解和使用 锁机制 1.背景 2.定义 3.锁的种类 4.乐观锁 VS 悲观锁 4.1.悲观锁 4.2.乐观锁 4.3.举例说明 4.4.CAS算法 4.4.1.CAS使用 4.4.2.C ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- java学习系列2(并发锁问题-乐观锁与悲观锁以及乐观锁的一种实现方式-CAS)
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS 首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别 ...
- Java入门1.2.3—一个老鸟的Java学习心得
Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...
- Java学习笔记(原创)
Java学习笔记(原创) 2011-12-01 16:37:00| 分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...
- java学习笔记14--多线程编程基础1
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...
- Java学习笔记22:并发(2)
Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...
- java 7 锁优化_自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarse...
自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化.这些优化主要包括锁消除(Lock Elision).锁粗化(Lock Coarsening).偏向锁(Biased Loc ...
- 十年架构师留下最完整的Java学习路线
原文地址:https://club.dingding.xin/topic/5081/十年架构师留下最完整的java学习路线?code=cb850abbce523c7f886f583d6dc00f5e ...
- 十年架构师留下最完整的Java学习路线,学完年薪40W
文章有点长,请大家耐心看完,话不多说直接上干货! 永不过时的编程语言--Java 编程开发. Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数 ...
最新文章
- 跟我学Springboot开发后端管理系统2:Mybatis-Plus实战
- 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇(转载)
- Varnish页面缓存服务
- 手机中geetest是什么文件_安卓手机系统中各类英文文件夹的含义详解,不知道的尽快熟知!...
- 关于JS数组API的总结
- MySQL DISTINCT:去重(过滤重复数据)
- Python安装Jupyter Notebook配置使用教程
- spring4.0:@Configuration的使用
- ffmpeg 推流同时录像命令_ffmpeg推流命令
- 使用android开发移动学习平台_移动学习平台有几种开发方法,你造吗?
- 实现财务自由 之 不可不知的常用财务网站或应用软件
- 多个485串联_让RS-485接口远离EMI风险!这有三个实用方案
- oracle去空格和换行,ORACLE 中去回车、空格、TAB的函数
- ubuntu18.04通过deb文件安装软件
- 【实验】实验课总结1 绘制简单电路图
- 创业公司产品经理生存指南
- taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,淘宝R2接口,淘宝oAuth2.0交易接口代码分享
- 经济危机与金融危机的学术解释与通俗到庸俗的解释,包你明白
- Angular 服务端渲染(SSR) 学习笔记
- OpenWrt 设置IP地址
热门文章
- 在字符串中使用引号()等字符 需要用转义字符\ 例如
- java.util.set cannot be assigned from null_Java中有关Null的9件事
- 什么叫有效物理网卡_如何区分虚拟网卡和物理网卡?-阿里云开发者社区
- 简单的java方法_Java简单实用方法一
- mallco动态分配_malloc动态分配的内存的生存周期是多少?
- linux c字符连接,C 语言实例
- 王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标
- 深入了解crc32算法
- VB2005.Net 环境下使用Jmail组件发送邮件
- Windows与Linux下tftp服务的使用