2
같은 폴더를 생성하기위한의 경쟁이 별도의 프레스코의 Rhino 자바 스크립트 작업을 생각해 보자 :프레스코 자바 스크립트/코뿔소 멀티 스레드 처리 및 동시성
var shared = companyhome.childByNamePath("shared");
var newFolderName = "folder-x";
var newFolder = shared.childByNamePath(newFolderName);
if (newFolder==null) {
java.lang.Thread.sleep(10000);//remove this line in second thread
newFolder = shared.createFolder(newFolderName);
if (newFolder==null){
logger.error("error: "+newFolderName);
} else {
logger.info("success: "+newFolderName);
}
} else {
logger.info("already exists: "+newFolderName);
}
우리가 잠 (10 초)와 첫 번째 스크립트를 실행하는 경우와 다음 수면없이 두 번째 스크립트 :
- 두 번째 스크립트는 첫 번째 스크립트는 예외 ,536 "파일 또는 폴더의 폴더-X는 이미"상승 할 폴더 "폴더-X"
- 을 만듭니다
무작위 폴더를 만들려고하는 많은 경쟁 스레드를 상상해 봅시다. 지정된 폴더 만 생성하는 것을 차단하는 세마포어 또는 원자 연산과 같은 것이 있습니까 (다른 폴더에 대해 비 차단)?
방금 후 확인해야 이전보다 수면 ... – dandavis