2
は同じフォルダを作成するためのが競う二つの別々のAlfrescoはRhinoの-JavaScriptのタスクを考えてみましょう:AlfrescoはJavaScriptを/ 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秒)との最初のスクリプトを実行した場合と、その後、睡眠なしで2番目のスクリプト:
- は、2番目のスクリプトは、最初のスクリプトが例外 「ファイルまたはフォルダのフォルダ-xがすでに存在している」上昇するフォルダ「フォルダ-X」
- を作成します。
多くの競合するスレッドがランダムなフォルダを作成しようとしています。 セマフォやアトミック操作のように、指定されたフォルダの作成のみをブロックするものがありますか(他のフォルダの非ブロック化)?
前の代わりに睡眠... – dandavis