我是靠谱客的博主 洁净春天,最近开发中收集的这篇文章主要介绍java多线程银行存取款_多线程学习(一)银行存取款,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天同学问到银行存取款,如何保持同步,随手写了一个简单例子.

首先是银行:

private int money = 1000;

public synchronized void add(int n) {

money += n;

try {

Thread.sleep(1000);

} catch (Exception e) {

e.printStackTrace();

}

System.out.println(Thread.currentThread().getName() + "----余额: " + money);

}

public synchronized void reduce(int n) {

if(money - n >= 0) {

money -= n;

} else {

System.out.println("余额不足");

}

try {

Thread.sleep(1000);

} catch (Exception e) {

e.printStackTrace();

}

System.out.println(Thread.currentThread().getName() + "----余额: " + money);

}

其中关键在于方法加锁,利用的是java内置的互斥锁机制.

接下来就是用户:

public Bank bank;

sta

最后

以上就是洁净春天为你收集整理的java多线程银行存取款_多线程学习(一)银行存取款的全部内容,希望文章能够帮你解决java多线程银行存取款_多线程学习(一)银行存取款所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部