package com.firefly.utils.concurrent; import com.firefly.utils.function.Func0; import java.util.concurrent.locks.ReentrantLock; /** * @author Pengtao Qiu */ public class SimpleLock { private final ReentrantLock lock = new ReentrantLock(); public <R> R lock(Func0<R> func0) { try { lock.lock(); return func0.call(); } finally { lock.unlock(); } } }