作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始在 Java 中使用线程,并且在线程内使用 for 循环时遇到问题。
当我在线程内使用 for 循环时,由于某种原因我看不到发送到屏幕的输出。
当我使用 while 循环时,它就像一个魅力。
非工作代码如下:
public class ActionsToPerformInThread implements Runnable {
private String string;
public ActionsToPerformInThread(String string){
this.string = string;
}
public void run() {
for (int i = 1; i == 10 ; i++) {
System.out.println(i);
}
}
}
调用代码:
public class Main {
public static void main(String[] args) {
Thread thread1 = new Thread(new ActionsToPerformInThread("Hello"));
Thread thread2 = new Thread(new ActionsToPerformInThread("World"));
thread1.start();
thread2.start();
}
}
我的问题是:为什么当我用 while 循环替换 for 循环并尝试将相同的输出打印到屏幕上时它不起作用?
我尝试调试它,但似乎程序在到达打印部分之前就停止了(没有异常或错误)。
最佳答案
for (int i = 1; i == 10 ; i++) {
System.out.println(i);
}
你是说吗?
i <= 10
i == 10 等于 1 == 10。它始终为 false。
关于java - 在线程内使用 for 循环与类似的 while 循环行为不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44478428/
我是一名优秀的程序员,十分优秀!