私が知っていて調査したところによるとsynchronized
、Javaのキーワードを使用すると、メソッドまたはコードブロックステートメントを同期して、マルチスレッドアクセスを処理できます。マルチスレッド環境で書き込み目的でファイルをロックする場合は、 JavaNIOパッケージのクラスを使用して最良の結果を得る必要があります。昨日、ファイルI / O操作用の共有サーブレットの処理について質問がありました。BalusCのコメントは解決策に役立ちますが、この回答のコードは私を混乱させます。私はコミュニティに「その投稿を焼き付ける」または「彼に反対票を投じましょう」と尋ねているのではありません(注:私はそれなどに反対票を投じていません、そして答えに反対するものは何もありません)、コードフラグメントができるかどうか説明を求めています良い習慣と見なされる
private static File theFile = new File("theonetoopen.txt");
private void someImportantIOMethod(Object stuff){
/*
This is the line that confuses me. You can use any object as a lock, but
is good to use a File object for this purpose?
*/
synchronized(theFile) {
//Your file output writing code here.
}
}