java数据隔离_java多线程数据隔离问题

package test.test1;

public class Test1 {

public static void main(String[] args) {

Test1Runnable test1Runnable = new Test1Runnable();

Thread thread = new Thread(test1Runnable);

thread.start();

Execute.PARAM_1=2;

Execute.PARAM_2=4;

}

}

package test.test1;

public class Test1Runnable implements Runnable {

@Override

public void run() {

Execute execute = new Execute();

while (true){

try {

execute.add();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

package test.test1;

public class Execute {

public static int PARAM_1=0;

public static int PARAM_2=0;

public void add() throws InterruptedException {

if (PARAM_1!=0&&PARAM_2!=0){

int res = PARAM_1+PARAM_2;

System.out.println("输出结果:"+res);

PARAM_1=0;

PARAM_2=0;

}

}

}

我在一个方法中定义两个全局变量,然后启动线程不停的执行这个方法,直到这两个全局变量的值都不为0时,开始执行加法运算。

上述代码:启动时 我赋值给param1=2 、param2=4

如果我想同时运行 2+4 、3+5 该怎么做?

比如:如果赋值给param1=2时 恰巧param2=5 了 怎么办?

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值