线程间怎么交换数据_Java学习——.交互线程

e32c26795acd01a9bc3b2979060b4964.png

线程在执行的过程中,有可能会需要共享资源或者交换数据,则称这一组线程为交互线程。

线程间的交互存在两种关系:竞争和协作。

竞争关系是指,两个线程同时使用同一个资源时,会产生竞争。此时,由于线程的并发执行,可能会产生与时间有关的错误。

如以下例题:

本例题是模拟银行的账户,存款和取款均为线程,对不同账户的操作不会产生问题,但如果是对同一个账户同时存款和取款时,可能会发生错误,其代码如下:

public class Account {//账户类

String name;

double money;

public Account() {

name=null;

money=0;

}

public Account(String name,double money) {

this.set(name,money);

}

public void set(String name,double money) {

this.name=name;

this.money=money;

}

public String get_name() {

return name;

}

public double get_money() {

return money;

}

public void quqian(double money) {//取钱

if(money<0)

;

if(this.money>money)

this.money=this.money-money;

else

System.out.println("您的账户余额不足");

}

public void cunqian(double money) {//存钱

if(money>0)

this.money+=money;

}

public String toString() {

return"账户名:"+this.name+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值