Java 多线程 之 银行ATM实例
http://www.verejava.com/?id=16992914422268
package com.thread; import java.util.Scanner; public class TestBank { public static void main(String[] args) { Bank bank = new Bank(); Thread lingming = new Thread(bank, "李明"); Thread wangtao = new Thread(bank, "王涛"); lingming.start(); try { Thread.sleep(4000); } catch (InterruptedException e) { e.printStackTrace(); } wangtao.start(); } } class Bank implements Runnable { public static int money = 1000; @Override public synchronized void run() { System.out.println(Thread.currentThread().getName() + " 登陆 您银行的存款为:" + money); try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } Scanner in = new Scanner(System.in); System.out.println("请输入您要取款金额:"); int num = in.nextInt(); if (money < num) { System.out.println(Thread.currentThread().getName() + "您的余额:" + money + " 不足 " + num); } else { money = money - num; System.out.println(Thread.currentThread().getName() + " 取了 " + num + " 您当前余额为:" + money); } } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
第四章 对象与类
用户自定义类 注意在所有方法中都不要命名与实例域同名的变量 final修饰的大都是基本类型或不可变类的域, 可变类用final休息容易造成混乱 静态类和方法 final修饰的域可以是public的; NumberFormat使用工厂方法生成实例; 不用构造函数实例化的原因是(1)无法命名构造器,对于货币和百分比实例来说需要不同的名字;(2)使用构造器时无法改变对象类型 方法参数 Java参数的传递时按值传递, 对于引用类型来说,传递的不是引用,而是引用的拷贝,引用的拷贝还是值 初始化块也可以给数据域赋值,另外两种时构造器和声明
- 下一篇
Java 多线程 之 火车站售票实例
http://www.verejava.com/?id=16992917973569 package com.thread; /** 题目: 人们在火车站的售票窗口排队买火车票 1. 北京西站开门 2. 打开售票窗口 3. 北京西站有10张去长沙的票 4. 打开2个售票窗口, 5 假设每个售票窗口每隔1秒钟买完一张票 1. 根据 名词 找类 人们(Person), 火车站(Station),火车票(Ticket) , 售票窗口e 是火车站的线程 */ import java.util.*; public class TestTrain { public static void main(String[] args) { //火车西站开门 Station station = new Station("火车西站"); //开窗口 //Thread win1=station.openWindow("普通窗口"); Thread win2 = station.openWindow("学生窗口"); //窗口1 开始售票 //设置线程优先级 setPriority() //win2.setPri...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主