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 실행 작업은 순서 없이 실행되므로 여러 스레드 간의 동기화가 보장되지 않습니다. 순서를 보장하려면 동기화 제어가 필요합니다