Java--银行存取款线程设计2(线程互斥)
来源:互联网 发布:梯度的分水岭算法 编辑:程序博客网 时间:2024/05/16 07:36
同步:对象锁的概念。如果多个线程共享某一个对象,操作系统会为每个对象用一个单词生成一个锁,锁和对象一一对应。如果一个线程要对某个对象进行操作,必须拿到对象的锁。
加锁:同步语句或者同步方法(这里用了同步语句)。解决交互线程与时间有关的错误。
注:互斥锁必须是同一个对象,否则锁不住。
public class save extends Thread{ private account a; private double value; public save(account a, double value) { this.a = a; this.value = value; } public void run() { synchronized (a) { double b = a.getBalance(); a.put(value); System.out.println(a.getName() + "账户,现有" + b + ",存入" + value + ",余额" + a.getBalance()); } }}
package cn.hncu.thread.motion;public class fetch extends Thread{ private account a; private double value; public fetch(account a, double value) { this.a = a; this.value = value; } public void run() { synchronized (a) {//拿锁 double b = a.getBalance(); System.out.println(a.getName() + "账户,现有" + b + ",取出" + a.get(value) + ",余额" + a.getBalance()); }//出了同步语句之后解锁 }}
package cn.hncu.thread.motion;public class bank { public static void main(String[] args) {// account a1=new account("wang");// save s1=new save(a1,100);// save s1=new save(new account("wang"),100);// s1.start(); account a1=new account("wang"); new save(a1,100).start(); new save(a1,200).start(); new fetch(a1,300).start(); new save(new account("xu"),100).start(); }}
1 0
- Java--银行存取款线程设计2(线程互斥)
- Java--银行账户存取款线程设计1(交互线程)
- Java线程之银行存取款
- java线程存取款
- java 线程同步问题之银行存取款问题
- java 银行存取款模型的线程同步问题
- 银行取款程序 线程
- Thread 线程之 银行账户多窗口存取款实现
- Java多线程银行存取款程序
- Java 线程互斥
- Java 线程互斥
- 线程同步:银行帐户存、取款问题
- Java多线程设计(二)线程的基本知识(2)共享互斥
- java创建一个银行账户,并具有存取款操作(参数传递)
- 【Java】银行中用户存取款业务的实现
- Java线程互斥(三)
- 银行ATM存取款机
- 银行ATM机存取款
- SQL Server xtype的介绍
- java序列化和RMI
- Centos 6.5 快速部署FTP
- QT学习之三---定义窗口并实现简单布局
- 泛型类里面获取到泛型的类型
- Java--银行存取款线程设计2(线程互斥)
- 根据字符串获取属性值
- E568: duplicate cscope database not added
- cronExpression表达式
- jstat查看内存
- 一句话概括C# . NET VS 关系
- Hadoop-2.6.1伪分布式集群环境搭建
- char码值对应列表大全
- Linux_bug收集_linux忘记root密码解决方法