为什么我的 Java 程序只有一个线程在执行?

ID:17372 / 打印

为什么我的 Java 程序只有一个线程在执行?

此程序为什么只有一个线程在执行?

给出的 java 程序中有一个错误导致只有一个线程执行:

if (this.flag = false) {

此条件中的赋值 = 应该改为相等检查 ==。修正后的条件如下:

if (this.flag == false) {

该程序旨在交替执行 add() 和 sub() 方法。当一个线程执行 add() 方法时,它将 flag 变量设置为 true,以便下一个线程执行 sub() 方法。

但是,在修改条件之前,无论 flag 的值如何,都会执行 add() 方法。这导致只有 add() 线程在执行,而 sub() 线程被无限期地 wait()。

立即学习“Java免费学习笔记(深入)”;

更正代码后,两个线程将交替执行 add() 和 sub() 方法,确保正确的交替操作。

上一篇: Spring Boot:简单高效地支持现代 Java 开发
下一篇: Android 开发中 “源自 null 的错误”:为什么检查 null 数组长度会出错?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。