2012年06月18日
synchronized
java は並列処理を基本としていますが、
vbscript や javascript のスクリプト言語に使い慣れている人にとっては、
慣れない概念だと思います。
ロギング処理を開発しているときに、ありえない順番でログが出ていました。
原因を調べてみたところ、複数のプロセスからログアクセスをしていて、
いろいろなログが織り交ざっていました。
ひとつのプロシージャーで、他のプロセスを気にせずに処理を行なう場合、
メソッドに synchronized を指定します。
public synchronized void test(){
}
synchronized を指定したメソッドは、処理中には他のプロセスから処理が入ることはありません。
しかし、本来並列処理を想定しておくべきです。
並列処理を想定できるかどうかは、プログラムの組み方次第だと思います。
vbscript や javascript のスクリプト言語に使い慣れている人にとっては、
慣れない概念だと思います。
ロギング処理を開発しているときに、ありえない順番でログが出ていました。
原因を調べてみたところ、複数のプロセスからログアクセスをしていて、
いろいろなログが織り交ざっていました。
ひとつのプロシージャーで、他のプロセスを気にせずに処理を行なう場合、
メソッドに synchronized を指定します。
public synchronized void test(){
}
synchronized を指定したメソッドは、処理中には他のプロセスから処理が入ることはありません。
しかし、本来並列処理を想定しておくべきです。
並列処理を想定できるかどうかは、プログラムの組み方次第だと思います。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image