サンプル
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 ] );
}
}
}