public static void main(String[] args){
new Thread(new Runnable() {
@Override
public void run() {
for (int i=0; i<10; i++){
System.out.print(i+" ");
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
for (int i=0; i<10; i++){
System.out.print(i+" ");
}
}
}).start();
}
输出结果如下:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
1、控制使得執行緒鎖定的順序一致,可以使用java.util.concurrent.locks套件裡靈活的鎖定
2、使用java.util.concurrent.atomic套件的原子類
CPU的執行太快了,第一個執行緒很快就執行完了,第二個執行緒估計還沒創建好,把循環的值改到1000試試,應該就能看出來效果了但肯定不會是交叉的,是混亂的
CPU執行任務是亂序執行,不保證多執行緒之間的同步,如果要保證順序,就需要做同步控制