- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
一个简单的例子:
class Account{
private String account_name;
private String password;
private double balance;
public synchronized double getBalance(){
return balance;
}
public synchronized void setBalance(double add){
balance += add;
}
}
根据我的理解,获取与对象关联的锁不会阻止其他线程访问该对象。它们必须是同一把锁以防止访问。
因此,如果两个人尝试在不同的 ATM 上访问同一个帐户,那么它将创建此 Account
对象的两个不同实例,对吗?那么它就不会受到同一把锁的保护,对吧?
假设 A(线程 A)试图将钱存入帐户,而同时 B(线程 B)试图获取帐户的总余额。
它是如何工作的?他们是否在使用时缓存 Account
,以便在下一个请求到来时返回相同的 Account
对象?
最佳答案
同步方法将锁定对象实例。但是,如果有一个方法,可能会发生不同步的并发访问。
ATM 机不访问您的帐户 - 银行服务器访问。 ATM 机只是一个客户端。因此,从 2 台不同的 ATM 访问同一个帐户将受到银行服务器的保护,银行服务器的内存/数据库中只有该帐户的一个实例(可能受某种锁定机制保护,而不是用 Java 编写)。
关于java - ATM如何在并发环境下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236897/
我正在制作一个 ATM 程序来学习 java,使用 cmd 来编译和运行它。该程序编译没有错误,但在运行时仅打印 at ATM.(init)(ATM.java:6)。 如有任何帮助,我们将不胜感激!
减少很多,是不对称的。我试图证明它,但它不起作用这么好。 给定两种语言 A 和 B,其中 A 定义为 A={w| |w| is even} , i.e. `w` has an even length
这是我的源代码: import java.text.SimpleDateFormat; import java.util.*; import java.io.*; public class ATM {
我在世界范围内如何ATM-systems被架构。银行在全局范围内设计一个一致的系统一定非常困难。他们是为此使用最终一致性还是使用出色的 ACID 系统? 我可以有一天在我的银行所在的瑞典使用 ATM,
我正在努力获得 old piece of code从 2003 年开始工作。我正在尝试复制 ATM 样式的十进制文本框。这段代码声称对某人有用,但我在实现它时遇到了困难。 也许有人有更好的方法来实现这
我正在做一个自动取款机程序,我很难弄清楚如何让它实际存款和取款。余额一开始自动为 0 美元,但我无法输入任何内容来实际添加或减去它,我做错了什么? public class ATM { static
我的任务是创建一个 ATM 类型的程序。下面是我的主要功能(不包括存款、取款和查询余额功能)。当我运行此代码时,程序会重复循环 pin 函数,即使我输入 0 或 1234 也是如此。它会重复指示用户输
我们想编写一个基于 Web 的应用程序来监控银行中的 ATM 机,以具有以下功能: 各终端显示位置 显示一般状态 颜色编码或简单的终端 图标(ATM 向上/向下/需要注意, 低现金等) 有一个设施可以
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我创建了一个关于 ATM 机的应用程序,其数组帐户大小为 10,但由于某些奇怪的原因,输入仅接受 0(第一个 id),但不接受其他 id 的其他 9 个 id,它总是显示无效 ID 错误消息。我花了几
我对 Python 和编码还很陌生。我正在尝试创建一个 ATM 类型的程序,让您可以存款和取款。我输入了我收到的错误消息。老实说,我只是不知道从这里该去哪里。 此外,如何通过 % 调用确保提款金额可以
Pooja would like to withdraw X $US from an ATM. The cash machine will only accept the transaction if
我试图创建一个程序来显示推算金额以及 ATM 可以分发的 10 美元和 1 美元纸币的数量,但它不会显示正确数量的 1 美元纸币。 int amount = int.Parse(txtAmount.T
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSC
我在 iPhone 应用程序中有一个文本字段,我想实现类似于 atms 输入的输入,您所要做的就是输入数字(不需要输入小数点字符)。我希望能够只为这个文本字段使用数字键盘。例如,文本字段最初显示: 0
import java.util.Scanner; import userAccountInformation.csv; public class AtmMachine { private doub
我制作了一个提款机(ATM)程序,但我不知道出了什么问题。一切正常,除了交易是一行零。我一定是搞砸了。我认为这与“showTransactions”方法有关。感谢您的帮助! import java.u
嘿伙计们,我正在构建一个 ATM 程序,并且一切正常 我有它弹出的菜单,您可以选择一个选项,它会运行该功能,但是,我一生都不能 设定平衡并让它留下来直到它改变一旦两个选项(存款、取款)之一发生变化,我
现在我正在开发一个 ATM 项目。用户将输入姓名、余额、交易类型和交易金额。交易类型为提款(W)、存款(D)和R(报告),我使用的是switch,有 3 个案例 W、D、R。如果您出现以下情况,程序将
我是一名优秀的程序员,十分优秀!