基本信息
源码名称: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; } } } }