关于运用多线程遇到的问题
程序员文章站
2022-05-02 16:55:51
...
1.错误在run()和start()的调用上下面错误案例
public static void main(String[] args) {
Thread theThread=new Thread(new Runnable() {
@Override
public void run() {
while(true){
System.out.println("1");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
theThread.run();
System.out.println("2");
}
结果没有2输出:
我在开发过程前期遇到这个问题百思不得解,后面又翻了一遍书的多线程才发现我搞混了。
多线程是重写run方法,运行的时候是xxThread.start()调用run(),运行还是原来的线程
正确是:
public static void main(String[] args) {
Thread theThread=new Thread(new Runnable() {
@Override
public void run() {
while(true){
System.out.println("1");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
theThread.start();//改动的地方
System.out.println("2");
}
}
结果:
泪目,一晚上查bug不如去书上重翻一遍希望各位道友不要犯这样的低级错误
上一篇: python_多线程中的一点问题
下一篇: 关于多线程的那点事 -Python