资源简介
模拟实现多线程处理银行的实时转账交易,代码完整,可以完美运行~
代码片段和文件信息
package task12_23.UpgradeTransferAccount;
/**
* Created by QXY on 2018/12/14.
*/
public class Account {
private String id;
private float balance;
private int transanctionNum=0;
private boolean available=true;
public String getId() {
return id;
}
public float getBalance() {
return balance;
}
public int getTransanctionNum() {
return transanctionNum;
}
Account(String idfloat balance){
this.id = id;
this.balance = balance;
}
public synchronized void checkavaialbe(){
while (!available){
// System.out.println(this.getId()+“ do not prepare well!***“+Thread.currentThread().getName()+“:Please wait~“);
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// System.out.println(Thread.currentThread().getName()+“:I get the account:“+this.getId());
this.available = false;
}
public synchronized boolean checkavaialbe(int locknum){
if(locknum ==0) {
while (!available) {
// System.out.println(this.getId() + “ do not prepare well!***“ + Thread.currentThread().getName() + “:Please wait~“);
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// System.out.println(Thread.currentThread().getName() + “:I get the account:“ + this.getId());
this.available = false;
return true;
}else {
if(!available) {
// System.out.println(Thread.currentThread().getName() + “ failed to lock the account:“ + this.getId() + “:I will quit~“);
return false;
}else {
// System.out.println(Thread.currentThread().getName() + “:I get the account:“ + this.getId());
this.available = false;
return true;
}
}
}
public synchronized void balanceadd(float amount)
{
this.balance += amount;
}
public synchronized boolean balancesub(float amount)
{
if(amount > this.balance)
return false;
this.balance -= amount;
return true;
}
public synchronized void setAvailable(){
available=true;
// System.out.println(Thread.currentThread().getName()+“:I‘m over~return the account:“+this.getId());
notifyAll();
}
public synchronized void transanctionNumAdd()
{
this.transanctionNum ++;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2733 2018-12-15 11:09 UpgradeTransferAccount\Account.java
文件 2873 2018-12-15 11:30 UpgradeTransferAccount\MainBank.java
文件 341 2018-12-14 23:30 UpgradeTransferAccount\Transaction.java
文件 3647799 2018-12-15 11:25 UpgradeTransferAccount\Transaction_record.txt
文件 2885 2018-12-15 11:21 UpgradeTransferAccount\TransferThread.java
文件 864 2018-12-15 11:24 UpgradeTransferAccount\utils.java
文件 15068 2018-12-04 16:07 UpgradeTransferAccount\多线程作业.docx
目录 0 2018-12-15 11:43 UpgradeTransferAccount\
相关资源
- java 用udp,tcp协议实现的局域网聊天程
- JAVA语言考试系统的设计与实现(论文
- java零基础入门-最新版2019600元的课
- javafx实现五子棋。有下棋悔棋重新开
- java实现野人与传教士过河问题
- POI读取Excel合并单元格并储存
- java动态识别文件编码EncodingDetect.jav
- 五子棋 人机对弈 JAVA实现
- 五子棋 人机对弈 只有棋盘版本
- 微信java支付和登录api demo
- Java经典编程题汇总
- java在线预览需要的jar包
- 未来教育二级java激活码
- Java课程设计文档说明书商城项目
- 双人对战java贪吃蛇
- Java爬虫项目
- 坦克大战Java源码适合新手
- JavaDES通过秘钥加密解密Demo
- 基于java socket使用tcp udp进行简易控制
- JAVA网络程序设计动态温度曲线绘制
- Java动态编译Java代码,运行在内存中,
- javaweb登录页面
- Java深入微服务原理改造房产销售平台
- 基于Java的Oracle学生成绩管理系统
- 用java做一个计算器和科学计算器
- Jpcap.dll_64x_32x,及。jar包
- java录屏详细代码
- Java学习路径.pdf
- ftp安装 Java实现客户端
- 射击小球键控java小游戏
评论
共有 条评论