自己写着学习用的
public class TestThreadATM implements Runnable{
ATM atm = new ATM();
public static void main(String[] args) {
TestThreadATM tt = new TestThreadATM();
Thread laogong = new Thread(tt);
Thread laopo = new Thread(tt);
laogong.setName("laogong");
laopo.setName("laopo");
laogong.start();
laopo.start();
}
@Override
public void run() {
atm.quQian(Thread.currentThread().getName(), 1000);
}
}
class ATM{
private static int totalMoney = 2000;
public synchronized void quQian(String name, int money){
totalMoney = totalMoney - money;
System.out.println(name + "取钱:" + money);
System.out.println("还剩余:" + totalMoney + "元 ");
}
}
分享到:
相关推荐
在IT行业中,尤其是在分布式系统和并发处理领域,"07-02 两个人AB通过一个账户A在柜台取钱和B在ATM机取钱"这个场景是一个经典的并发控制问题,通常用来探讨银行交易的正确性和一致性。这个问题涉及到多个用户(A和B...
多线程ATM取款机模拟 在 Java 中实现多线程 ATM 取款机模拟,涉及到多个关键技术点,如线程安全、同步机制、账户管理等。本文将详细解释标题、描述、标签和部分内容中的知识点。 1. 多线程编程 多线程编程是 Java...
ATM(Automated Teller Machine,自动取款机)系统是一个经典的并发处理场景,它涉及到多线程技术来模拟现实世界中的ATM机操作。在这个项目中,开发者创建了一个使用多线程的ATM模拟器,实现了存款、取款等基本功能...
在这个"网络协议+线程ATM案例"中,我们将深入探讨如何利用Java编程语言来实现一个模拟银行系统,特别关注网络协议的应用和多线程技术。 首先,我们了解网络协议。在ATM(自动取款机)系统中,可能涉及到的关键协议...
在Java编程领域,多线程技术是至关重要的一个部分,特别是在设计复杂的系统,如银行ATM模拟程序时。本文将深入探讨如何利用Java实现这样的模拟程序,并涉及与多线程相关的概念。 首先,多线程是指在一个应用程序中...
c语言下实现模拟ATM机的过程,包括存钱取钱、查询、积分等,可以同时管理5个账户
在这个“简单的基于TCP的ATM机多线程实例”中,我们将探讨如何使用TCP来实现ATM(自动取款机)服务的模拟,同时利用多线程技术提升系统的并发处理能力。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层...
Java多线程网络编程在实现ATM自动取款机系统中的应用主要涉及到以下几个核心知识点: 1. **Java多线程**:多线程是Java语言的重要特性,它允许多个任务在同一时间执行,提高程序效率。在ATM系统中,每个用户操作...
ATM自动取款系统是一个典型的企业级应用,它涉及到服务器端和客户端的交互,多线程处理以及TCP网络通信技术。下面将详细讲解这些关键知识点。 1. **三层架构分层技术**: 三层架构是一种常见的软件设计模式,包括...
"读写线程模仿"这个主题聚焦于如何在多个线程之间安全地共享数据,尤其是当一部分线程负责读取数据,另一部分线程负责写入数据时。这种场景在图形化用户界面(GUI)应用中尤为常见,因为用户交互通常会触发数据的...
"Java银行取钱线程安全问题实例分析" Java银行取钱线程安全问题实例分析是指在Java中使用多线程技术来模拟银行取钱操作时,可能会出现的线程安全问题。本文将通过一个实例来分析Java银行取钱线程安全问题,帮助读者...
易语言取线程信息源码,取线程信息,ShowThdInfo,ZwQuerySystemInformation,LocalAlloc,CopyMemory_SYSTEM_PROCESSES,LocalFree
下面,我们将深入探讨易语言如何实现取窗口、进程和线程句柄的相关知识点。 1. **窗口句柄**: 窗口句柄是Windows API中用于标识窗口的一个特殊值,它是一个无符号长整型数,由操作系统分配给每个窗口。在易语言中...
Java ATM 实现基于TCP协议与Oracle数据库的多线程应用是一个经典的计算机科学示例,它涵盖了网络编程、数据库操作和并发处理等多个核心IT知识点。在这个项目中,开发者使用Java语言来构建一个模拟自动取款机(ATM)...
在Java编程领域,ATM(Automated Teller Machine,自动取款机)模拟是一个常见的多线程问题,用于展示线程同步和互斥的概念。在这个场景中,ATM被设计成一个可以执行存款和取款操作的系统,而这些操作需要确保在并发...
你多线程做的一个ATM模拟测试程序 (仅供参考)
vb执行大任务时 主线程经常出现假死现象,此示例程序通过ActiveX.exe部件执行耗时长的大任务;主窗体可以拖动 任意改变大小 最大化 最小化 终止任务(关闭窗体) 不足之处:终止任务(关闭窗体)时 Activex.exe 部件...
- 需要考虑操作的原子性,例如,在多线程环境下,确保同一时间只有一个线程可以修改账户状态,避免并发问题。 7. **数据库集成**: - 虽然题目没有要求,但在实际应用中,用户信息和账户数据通常会存储在数据库中...
### C#模仿迅雷的多线程下载类:深度解析与应用 在现代软件开发中,网络资源的高效下载已成为一个关键环节。特别是在处理大文件或在网络条件不佳的情况下,单线程下载往往效率低下,用户体验差。为此,多线程下载...
易语言取窗口进程线程句柄等源码,取窗口进程线程句柄等,根据进程名取窗口句柄,根据窗口句柄取进程名,取进程线程标识符_,打开进程_,寻找顶级窗口_,关闭内核对象_,创建系统进程快照,取快照中第一个进程信息,取快照中下...