我是Java的新手,我尝试理解该语言的线程功能。
根据我的理解,线程允许同时运行代码""。
所以我创建了一个MyThread
类来测试它:
public class MyThread extends Thread {
public MyThread (String name) {
super(name);
}
public void run () {
for (int i = 0; i < 10; i++) {
System.out.println(this.getName());
}
}
}
这是我的Main
课程:
public class Main {
public static void main(String[] args) {
Thread myThreadA = new MyThread("A");
myThreadA.start();
Thread myThreadB = new MyThread("B");
myThreadB.start();
}
}
当我使用i < 10
时,A
和B
并不总是以相同的顺序显示。
但是,当我使用i < 1000
时,我会始终获得相同的输出,A
和B
的顺序始终相同。首先是A
s,然后是B
s。
如何确保两个线程同时运行? 在真实的应用程序中,如何在不同的CPU中调度线程?我们是否必须在某处配置某些功能才能使该功能正常工作?