问题描述
- 简单多线程运行结果不正确
-
class TestThread1 extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("程序正在运行!");
}
}
}
public class TestThread_1
{
public static void main(String[] args)
{
new TestThread1().start();
for(int i=0;i<10;i++)
{
System.out.println("main线程正在运行!");
}
}
}
为什么不能达到线程运行的结果?运行结果是:
程序正在运行!
程序正在运行!
程序正在运行!
........
main线程正在运行!
main线程正在运行!
main线程正在运行!
main线程正在运行!
....
解决方案
这个试了几遍的确有点乱。不过,如果把变量i声明成为类的变量行了。
具体原理还没弄明白,楼主弄明白@一下我,谢谢
解决方案二:
要达到你预期的效果先要把main线程阻塞,等子线程run完之后在唤醒main线程
时间: 2025-01-02 11:40:18