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):同步方法锁相关推荐

  1. Java:java学习笔记之锁机制的简单理解和使用

    锁机制的简单理解和使用 锁机制 1.背景 2.定义 3.锁的种类 4.乐观锁 VS 悲观锁 4.1.悲观锁 4.2.乐观锁 4.3.举例说明 4.4.CAS算法 4.4.1.CAS使用 4.4.2.C ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. java学习系列2(并发锁问题-乐观锁与悲观锁以及乐观锁的一种实现方式-CAS)

    Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS 首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别 ...

  4. Java入门1.2.3—一个老鸟的Java学习心得

    Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌    出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...

  5. Java学习笔记(原创)

    Java学习笔记(原创) 2011-12-01 16:37:00|  分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...

  6. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

  7. Java学习笔记22:并发(2)

    Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...

  8. java 7 锁优化_自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarse...

    自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化.这些优化主要包括锁消除(Lock Elision).锁粗化(Lock Coarsening).偏向锁(Biased Loc ...

  9. 十年架构师留下最完整的Java学习路线

    原文地址:https://club.dingding.xin/topic/5081/十年架构师留下最完整的java学习路线?code=cb850abbce523c7f886f583d6dc00f5e ...

  10. 十年架构师留下最完整的Java学习路线,学完年薪40W

    文章有点长,请大家耐心看完,话不多说直接上干货! 永不过时的编程语言--Java 编程开发. Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数 ...

最新文章

  1. javabean和EJB的区别
  2. java字符_Java String 类
  3. UITabBarController 的配置
  4. 197. 阶乘分解【数论】
  5. HTML label控件
  6. 解决django3.x manage命令makemigrations无法创建数据表
  7. 基于深度学习的搜索、推荐、广告系统最全最新论文分享
  8. VB快速查找大型文件中包含的字符串
  9. itext生成pdf间距_跳过APP打开pdf的烦恼,服务端直接将pdf转图片,别踩乱码之坑...
  10. JDK命令一、javah命令(C Header and Stub File Generator)
  11. 3GQQ幻想西游攻略
  12. 李飞飞团队造出“窥视未来”新AI:去哪干啥一起猜,准确率压倒老前辈
  13. 磁盘分区(disk)
  14. MATLAB基础—算数运算符
  15. 苹果三代耳机_浅谈华强北最强Airpods Pro(苹果三代蓝牙耳机)到底怎么样?
  16. Lytro光场相机上手视频
  17. 恢复时间目标(RTO)和恢复点目标(RPO)的差异
  18. 骨牌铺方格(递归问题)
  19. ES6 文档总结,持续更新
  20. 计算机仿真实验单摆,计算机仿真实验用凯特摆测重力加速度.doc

热门文章

  1. JTable 一个最好的例子
  2. c语言掌握常用函数,c语言一些常用函数.pdf
  3. 华为5c android n风格,华为荣耀畅玩5C的屏幕怎么样
  4. python元类的使用_python中元类用法实例
  5. java url 授权,Spring MVC框架 - 基本认证之URL 授权认证
  6. Linux 系统应用编程——进程间通信(下)
  7. Windows编程中的映射模式和坐标转换
  8. Dynamic Performance Tables not accessible,Automatic Statistics...
  9. VScode配置eslint保存自动格式化,eslint格式化去掉分号和双引号。vscode自动保存去掉分号和双引号;““
  10. [react] create-react-app创建新运用怎么解决卡的问题?