java实验七实验报告_java第七次实验报告

需求:

男生和女生处了一年分手了,共同资产有10000元,两人约定去银行不停取钱直到钱全部取完,取钱每次只能取2000元,每次取完要显示余额。

男生拿存折取钱,女生拿着银行卡取钱,用java中的多线程进行模拟,要解决线程的安全问题。

源码:

public class AccountDemo extends Thread{

static int account = 10000;//设置账户余额为10000

private String sex;

public String getSex() {

return sex;

}

public AccountDemo(String way, String sex) {

super(way);

this.sex = sex;

}

@Override

public void run() {

while(true){

synchronized ("") {

if (account > 0) {

account -= 2000;

System.out.println(getSex() +"已成功使用" +  this.getName() + "取出2000元,当前账号余额:" + account);

} else {

System.out.println(getSex() + "取款失败,当前账户余额为0");

break;

}

}

}

}

public static void main(String[] args) {

AccountDemo ad1 = new AccountDemo("存折", "男生");

AccountDemo ad2 = new AccountDemo("银行卡", "女生");

ad1.start();

ad2.start();

}

}

实验 Java多线程 一、实验目的: 熟悉利用Thread类建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容: 1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+delay); } }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。 3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针 编写一个应用程序,创建三个线程分别显示各自的时间。 三、实验要求: 1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤: 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。 通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值