基本信息
源码名称:java 集合 synchronized 操作示例代码
源码大小:8.21KB
文件格式:.zip
开发语言:Java
更新时间:2016-05-16
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package wpy.bank;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class Account {
private int money = 0;
private int save_money = 0;
private int off_money = 0;
private String fileName = "log.txt";
BufferedWriter writer = null;
public int getMoney() {
return money;
}
private int take_off_money = 0;
public int getTake_off_money() {
return take_off_money;
}
private boolean available = true;
private boolean flag = true;
private int multiple = 0;
public Account(int money) {
this.money = money;
try {
writer = new BufferedWriter(new FileWriter(fileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public boolean isFlag() {
return flag;
}
public synchronized void save() {
if (available && flag) {
save_money = new Random(System.nanoTime()).nextInt(191) 10;
System.out.println(" " (save_money));
try {
// BufferedWriter writer1 =new BufferedWriter(new
// FileWriter(fileName,true));
writer.write(" " save_money);
writer.newLine();
// writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
money = save_money;
if ((money / 500) > 0) {
available = false;
notify();
}
}
}
public synchronized void off() {
if (available && flag) {
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (!available && flag) {
multiple = (int) ((save_money money) / 500);
off_money = multiple * 500;
take_off_money = off_money;
System.out.println("-" (off_money));
try {
// BufferedWriter writer2 =new BufferedWriter(new
// FileWriter(fileName,true));
writer.write("-" off_money);
writer.newLine();
// writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
money -= off_money;
available = true;
// notify();
if (take_off_money >=1000 ) {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
flag = false;
}
}
}
}