gpt4 book ai didi

Java for 线程中的循环

转载 作者:行者123 更新时间:2023-12-01 18:14:13 26 4
gpt4 key购买 nike

我是初学者,母语不是英语,所以请耐心等待我和我的英语。

我试图理解线程中的 for 循环。我在这里遇到线程问题。这些线程代表从帐户中提取资金的方法,而另一个线程则向该帐户添加资金。

您的账户上一开始有 1000 欧元。

问题是我不明白为什么必须有一个带有这些数字的 for 循环。我得到i = 0;i ++ ,但为什么 i <1200000

我用这个 i < 1200000; 取得了什么成就? ?

这是我的主题:

第一个从帐户中取钱。

public class AfThread extends Thread {
private Rekening deRekening;
public AfThread(Rekening r) {
deRekening = r;
}
public void run() {

for (int i = 0 ;i < 1200000 ;i++ ) {
deRekening.neemOp(600.00);
if (deRekening.getSaldo() < 0)
System.out.print("rood "); // wordt met wait() nooit uitgevoerd
}
}
}

添加线程:

public class BijThread extends Thread {
private Rekening deRekening;
public BijThread(Rekening r) {

deRekening = r;
}

public void run() {
for (int i = 0 ;i < 1200000 ;i++ ) {
deRekening.stort(600.00);
}
}
}

最佳答案

请原谅我非常非常非常陈旧的荷兰语......

第一个线程将尝试从帐户中提取/扣除 (neemOp) 600。 for 循环执行了 1200000 次。如果帐户低于零,它将打印出“rood”,这意味着红色(我认为???),我认为这意味着帐户为负数“已变成红色”(用英语术语)。

第二个线程将向帐户添加/存入(存储)600 美元。 for 循环执行了 1200000 次。

为什么?普通客户不会去 ATM 机 1200000 次。我的猜测是这些是某些测试的一部分。您正在模拟大量独立的存款和扣除。考虑一下您是否有数千名客户。有时,客户可能会在存款(例如自动付款)的同一时间提取现金。在软件中,存款可能是在与取款不同的线程上进行的。您需要绝对确定这不会造成问题,否则您将会有很多愤怒的客户!

此测试并不完美,但通过在两个单独的线程上混合数百万次存款和取款,它试图验证没有发生任何奇怪的情况。测试结束时,帐户的金额应与开始时的金额相同。

alstublieft

关于Java for 线程中的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com