package net.okren.java;
import java.io.*;
//账户
class Account{
private float balance = 1000;
public float getBalance(){
return balance;
}
public void setBalance(float balance){
this.balance = balance;
}
public synchronized void withDraw(float money){
if(balance >= money){
System.out.println("取走 "+ money +"钱");
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
balance -= money;
}else{
System.out.println("余额不足 ");
}
}
}
class TestAccount1 extends Thread{
private Account account;
public TestAccount1(Account account){
this.account = account;
}
public void run(){
account.withDraw(800);
System.out.println("余额为"+ account.getBalance());
}
}
class TestAccount2 extends Thread{
private Account account;
public TestAccount2(Account account){
this.account = account;
}
public void run(){
account.withDraw(700);
System.out.println("余额为 " + account.getBalance());
}
}
public class JavaTest {
public static void main(String[] args){
Account account = new Account();
TestAccount1 t1 = new TestAccount1(account);
TestAccount2 t2 = new TestAccount2(account);
t1.start();
t2.start();
}
}
分享到:
相关推荐
在Java编程领域,多线程技术是至关重要的一个部分,特别是在设计复杂的系统,如银行ATM模拟程序时。本文将深入探讨如何利用Java实现这样的模拟程序,并涉及与多线程相关的概念。 首先,多线程是指在一个应用程序中...
使用Java多线程,实现模拟银行存款与取款操作的实例。
在Java编程中,多线程是一项关键特性,...总之,这个"JAVA多线程的一个带UI界面的例子"涵盖了Java多线程编程和GUI设计的核心概念,通过实际的代码示例,有助于开发者深入理解如何在实际应用中正确、高效地使用多线程。
6. **死锁预防**:在设计多线程银行系统时,要特别注意死锁的问题。死锁是指两个或多个线程互相等待对方释放资源,导致所有线程都无法继续执行。通过合理设计资源获取顺序和使用超时策略,可以避免死锁的发生。 7. ...
本文主要介绍了Java 多线程同步问题完整代码,以银行取钱为例,通过代码实例来演示多线程同步问题的解决方案。多线程同步是指在同一程序中有多个顺序流在执行,并且这些顺序流之间需要共享资源或数据。 在操作系统...
在本实验中,我们主要探讨了Java多线程的同步机制以及其在并发编程中的应用。实验目的是理解和掌握并行/并发、同步/异步的概念,并通过实现一个模拟银行账户的程序来具体应用这些概念。 首先,理解并行/并发是关键...
在Java编程领域,多线程是并发处理任务的关键技术,特别是在设计复杂的系统,如银行交易系统时。"简单银行存款取款,以及实现线程java源代码"这个项目旨在演示如何利用Java实现银行账户的基本操作——存款和取款,并...
【Java银行取款系统详解】 Java作为一门面向对象的编程语言,因其稳定性和跨平台性,在开发企业级应用,如银行系统中,被广泛应用。在这个Java实现的银行取款系统中,我们可以深入学习到以下几个核心知识点: 1. *...
Java多线程网络编程在实现ATM自动取款机系统中的应用主要涉及到以下几个核心知识点: 1. **Java多线程**:多线程是Java语言的重要特性,它允许多个任务在同一时间执行,提高程序效率。在ATM系统中,每个用户操作...
【标题】"用Java写的银行取款系统"是一款基于Java编程语言开发的软件应用,它模拟了真实的银行自助服务终端(ATM)的功能,让用户能够进行各种银行业务操作。这个系统的界面设计独特,旨在提供良好的用户体验,使得...
### Java多线程基础 在Java中,多线程是通过`Thread`类来实现的。`Thread`类提供了一种创建并发执行路径的方式,即所谓的“线程”。在多线程环境中,多个线程可以同时运行,从而提高程序的执行效率。然而,在实际...
Java实现银行存取款 Java实现银行存取款是一种使用Java语言实现的银行存取款系统。这种系统可以模拟真实世界中的银行存取款操作,...* Java多线程编程指南 * Java同步机制详解 * Java语言基础教程 * 面向对象编程原理
在Java编程语言中,多...同时,理解并掌握这些同步机制的原理和使用场景,对于提升Java多线程编程的能力至关重要。在实际开发中,要特别注意死锁、活锁和饥饿等问题,避免因线程同步不当而导致的性能下降或程序错误。
银行账户的存取款线程设计银行账户的存取款线程设计
Java ATM 实现基于TCP协议与Oracle数据库的多线程应用是一个经典的计算机科学示例,它涵盖了网络编程、数据库操作和并发处理等多个核心IT知识点。在这个项目中,开发者使用Java语言来构建一个模拟自动取款机(ATM)...
Java的多线程特性保证了系统在处理并发请求时的高效与安全,而其异常处理机制则为系统的健壮性提供了保障。 ATM系统主要包含以下功能模块: 1. 用户认证:这是ATM系统的第一道防线,涉及到用户身份验证,通常包括...
Java银行取钱线程安全问题实例分析是指在Java中使用多线程技术来模拟银行取钱操作时,可能会出现的线程安全问题。本文将通过一个实例来分析Java银行取钱线程安全问题,帮助读者了解线程安全问题的成因和解决方法。 ...
Java多线程同步是软件开发中的重要概念,特别是在并发编程中。Java内置的`synchronized`关键字是实现线程同步的基础,它可以确保同一时间只有一个线程访问特定的代码块或方法,从而避免数据竞争和不一致的情况。然而...
通过分析这个项目,我们可以深入理解Java多线程的核心概念。 首先,多线程允许程序同时执行多个独立的任务,提高应用程序的并发性能。在银行系统中,每个客户请求(存款或取款)可以被视为一个独立的线程,这些线程...
Java提供了丰富的多线程支持,如`Thread`类和`Runnable`接口,可以用来实现并发操作,保证各个操作的独立性和互不影响。 5. **集合框架**:存储和管理用户和账户信息可能需要用到Java的集合框架,如`ArrayList`、`...