Example
//對 segmentation_object 這個字串加鎖ObjectLock objectSegmentationLock = new ObjectLock("segmentation_object");try { objectSegmentationLock.lock(); dosomething();} catch (Exception e) { e.printStackTrace();} finally { objectSegmentationLock.releaseLock();}try { //嘗試加鎖直到5秒後逾時加鎖失敗 if(objectSegmentationLock.tryLock(5000)) { dosomething(); }} catch (Exception e) { e.printStackTrace();} finally { objectSegmentationLock.releaseLock();}CodeLock codeLock = new CodeLock();try { //直接對以下代碼(dosomething)進行阻塞加鎖直到獲得鎖 codeLock.lock(); dosomething();} catch (Exception e) { e.printStackTrace();} finally { codeLock.releaseLock();}try { //直接對以下代碼(dosomething)嘗試加鎖 直到5秒後逾時加鎖失敗 if(codeLock.tryLock(5000)) { dosomething(); }} catch (Exception e) { e.printStackTrace();} finally { codeLock.releaseLock();}
源碼
https://github.com/lichao4Java/distributed-lock