내가 알고 연구 한 바에 따르면 Java의 synchronized
키워드를 사용하면 메서드 또는 코드 블록 문을 동기화하여 멀티 스레드 액세스를 처리 할 수 있습니다. 멀티 스레드 환경에서 쓰기 목적으로 파일을 잠그고 싶다면
은 Java NIO package의 클래스를 사용해야 최상의 결과를 얻을 수 있습니다. 어제, 파일 I/O 작업을 위해 공유 서블릿을 처리하는 것에 관한 질문을 제기했으며, BalusC 주석은 솔루션을 도울 수 있지만 this answer의 코드는 나를 혼란스럽게합니다. 나는 커뮤니티에 "그 포스트를 불 태워라"또는 "그에게 downvote하자"라고 물어 보지 않는다. (노트 : 나는 그것을 떨어 뜨리지 않았고, 아무것도 대답하지 않았다.) 나는 코드 조각이 가능하다면 설명을 요구한다. 좋은 연습으로 간주 될 수파일 개체 동기화
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
@Hassan 누구든지 그 명성이 무엇이든 그 질문/답변이 도움이된다고 느낄 때까지하지 마십시오. –
@ Nandkumar 나는이 질문을 좋아한다. 나는 그저 재미 있다고 생각했다. – Hassan