`
gmleegmlee
  • 浏览: 119741 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java多线程 银行取款

    博客分类:
  • JAVA
阅读更多
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();
	
		
	}
}
分享到:
评论
1 楼 ahutzh 2010-11-12  
学习一下

相关推荐

    java多线程银行ATM模拟程序

    在Java编程领域,多线程技术是至关重要的一个部分,特别是在设计复杂的系统,如银行ATM模拟程序时。本文将深入探讨如何利用Java实现这样的模拟程序,并涉及与多线程相关的概念。 首先,多线程是指在一个应用程序中...

    Java多线程实现银行存款与取款线程

    使用Java多线程,实现模拟银行存款与取款操作的实例。

    JAVA多线程的一个带UI界面的例子

    在Java编程中,多线程是一项关键特性,...总之,这个"JAVA多线程的一个带UI界面的例子"涵盖了Java多线程编程和GUI设计的核心概念,通过实际的代码示例,有助于开发者深入理解如何在实际应用中正确、高效地使用多线程。

    java 银行系统多线程

    6. **死锁预防**:在设计多线程银行系统时,要特别注意死锁的问题。死锁是指两个或多个线程互相等待对方释放资源,导致所有线程都无法继续执行。通过合理设计资源获取顺序和使用超时策略,可以避免死锁的发生。 7. ...

    以银行取钱为例模拟Java多线程同步问题完整代码

    本文主要介绍了Java 多线程同步问题完整代码,以银行取钱为例,通过代码实例来演示多线程同步问题的解决方案。多线程同步是指在同一程序中有多个顺序流在执行,并且这些顺序流之间需要共享资源或数据。 在操作系统...

    使用Java多线程的同步机制编写应用程序.docx

    在本实验中,我们主要探讨了Java多线程的同步机制以及其在并发编程中的应用。实验目的是理解和掌握并行/并发、同步/异步的概念,并通过实现一个模拟银行账户的程序来具体应用这些概念。 首先,理解并行/并发是关键...

    简单银行存款取款,以及实现线程java源代码

    在Java编程领域,多线程是并发处理任务的关键技术,特别是在设计复杂的系统,如银行交易系统时。"简单银行存款取款,以及实现线程java源代码"这个项目旨在演示如何利用Java实现银行账户的基本操作——存款和取款,并...

    java做的银行取款系统

    【Java银行取款系统详解】 Java作为一门面向对象的编程语言,因其稳定性和跨平台性,在开发企业级应用,如银行系统中,被广泛应用。在这个Java实现的银行取款系统中,我们可以深入学习到以下几个核心知识点: 1. *...

    java多线程网络编程实现ATM自动取款机系统

    Java多线程网络编程在实现ATM自动取款机系统中的应用主要涉及到以下几个核心知识点: 1. **Java多线程**:多线程是Java语言的重要特性,它允许多个任务在同一时间执行,提高程序效率。在ATM系统中,每个用户操作...

    用java写的银行取款系统 界面很特别啊

    【标题】"用Java写的银行取款系统"是一款基于Java编程语言开发的软件应用,它模拟了真实的银行自助服务终端(ATM)的功能,让用户能够进行各种银行业务操作。这个系统的界面设计独特,旨在提供良好的用户体验,使得...

    java多线程1

    ### Java多线程基础 在Java中,多线程是通过`Thread`类来实现的。`Thread`类提供了一种创建并发执行路径的方式,即所谓的“线程”。在多线程环境中,多个线程可以同时运行,从而提高程序的执行效率。然而,在实际...

    Java实现银行存取款

    Java实现银行存取款 Java实现银行存取款是一种使用Java语言实现的银行存取款系统。这种系统可以模拟真实世界中的银行存取款操作,...* Java多线程编程指南 * Java同步机制详解 * Java语言基础教程 * 面向对象编程原理

    java 多线程同步方法的实例

    在Java编程语言中,多...同时,理解并掌握这些同步机制的原理和使用场景,对于提升Java多线程编程的能力至关重要。在实际开发中,要特别注意死锁、活锁和饥饿等问题,避免因线程同步不当而导致的性能下降或程序错误。

    银行账户的存取款线程设计

    银行账户的存取款线程设计银行账户的存取款线程设计

    java ATM +tcp+多线程+oracle

    Java ATM 实现基于TCP协议与Oracle数据库的多线程应用是一个经典的计算机科学示例,它涵盖了网络编程、数据库操作和并发处理等多个核心IT知识点。在这个项目中,开发者使用Java语言来构建一个模拟自动取款机(ATM)...

    基于JAVA的银行自动取款机(ATM)系统

    Java的多线程特性保证了系统在处理并发请求时的高效与安全,而其异常处理机制则为系统的健壮性提供了保障。 ATM系统主要包含以下功能模块: 1. 用户认证:这是ATM系统的第一道防线,涉及到用户身份验证,通常包括...

    Java银行取钱线程安全问题实例分析

    Java银行取钱线程安全问题实例分析是指在Java中使用多线程技术来模拟银行取钱操作时,可能会出现的线程安全问题。本文将通过一个实例来分析Java银行取钱线程安全问题,帮助读者了解线程安全问题的成因和解决方法。 ...

    Java多线程同步[定义].pdf

    Java多线程同步是软件开发中的重要概念,特别是在并发编程中。Java内置的`synchronized`关键字是实现线程同步的基础,它可以确保同一时间只有一个线程访问特定的代码块或方法,从而避免数据竞争和不一致的情况。然而...

    Java时序银行系统.zip

    通过分析这个项目,我们可以深入理解Java多线程的核心概念。 首先,多线程允许程序同时执行多个独立的任务,提高应用程序的并发性能。在银行系统中,每个客户请求(存款或取款)可以被视为一个独立的线程,这些线程...

    Java模拟银行小项目.zip

    Java提供了丰富的多线程支持,如`Thread`类和`Runnable`接口,可以用来实现并发操作,保证各个操作的独立性和互不影响。 5. **集合框架**:存储和管理用户和账户信息可能需要用到Java的集合框架,如`ArrayList`、`...

Global site tag (gtag.js) - Google Analytics