예제

public static void main(String[] args){
Object lock = new Object();

for ( int i = 0; i < args.length; i ++){
synchronized ( lock ) {
System.out.println( args[ i ] );
}
}
}

솔루션
동기화된 블록을 루프 외부로 이동하십시오.

public static void main(String[] args){
Object lock = new Object();

synchronized ( lock ) {
for ( int i = 0; i < args.length; i ++){
System.out.println( args[ i ] );
}
}
}