所以我对多线程的工作原理有点困惑。例如,如果我创建了一个Thread
被调用的子类MySub
,这就是它的样子:
public class MySub extends Thread {
public void run {
for(int i = 0; i < 5; i++){
System.out.println(i);
}
}
}
在主要课程中,我这样做:
public static void main(String[] args) {
Thread m = new MySub();
Thread m2 = new MySub();
m.start();
m2.start();
}
是不是应该调用start()
for的方法m
,然后直接调用start()
for的方法m2
,不等m
线程结束?这不是多线程的重点吗?
但实际上,它从start()
调用中打印 0 到 4 m
,然后为start()
调用打印 0 到 4 m2
。他们没有同时进行,而是按顺序进行,这不是我所期望的。我有点期待 0 到 4 个数字的混乱。