gpt4 book ai didi

java - 如何保证两条语句顺序执行而不被另一个线程打断

转载 作者:行者123 更新时间:2023-12-01 18:31:23 35 4
gpt4 key购买 nike

在一个简单的 Java 程序中,我有两个线程正在运行,addSomesubtractSome

这两个线程都在同一个 box 对象上工作。所以本质上,他们同时从这个盒子里添加和减去项目。

为了理解线程等,我试图输出框的内容和当前正在工作的线程。

System.out.println(Thread.currentThread().getName());
System.out.println("Items: " + contents);

问题是,我意识到,由于 Box 类中的 if 语句的结构(只有当盒子中有元素时才能获取元素等) )第一个输出语句正在打印然后切换到添加新内容的另一个线程,然后返回到打印旧内容的第一个线程。

基本上,我想确保这两个语句由同一个线程同时执行,并且中间不应该发生任何事情。

最佳答案

使用同步概念同步方法同步块(synchronized block)

关于java - 如何保证两条语句顺序执行而不被另一个线程打断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24012781/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com