從我所瞭解和研究的結果來看,Java中的關鍵字允許同步方法或代碼塊語句以處理多線程訪問。如果我想鎖定文件以便在多線程環境中進行寫入,則I
必須
應該使用Java NIO package中的類來獲得最佳結果。昨天,我提出了一個關於處理文件I/O操作的共享servlet的問題,BalusC的評論很好的幫助解決了這個問題,但this answer中的代碼讓我感到困惑。我並沒有要求社區「燒掉那個帖子」或「讓我們冷靜點他」(注意:我沒有降低它或任何東西,並且我沒有任何反對的答案),我要求解釋一下,如果代碼片段可以被認爲是一個很好的做法同步文件對象
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.
}
}
+1,因爲現在你已經超過4000人。 – Hassan 2012-08-15 19:53:20
@Hassan無論是誰,無論它是什麼聲望,都不要這樣做,直到你覺得問題/答案是有幫助的。 – 2012-08-15 19:55:31
@Nandkumar我喜歡這個問題,我只是覺得這很有趣。 – Hassan 2012-08-15 19:57:11