import com.atlassian.util.concurrent.Locks; private final Lock lock = Locks.lock("myLock"); public void doSomething() { lock.lock(); try { } finally { lock.unlock(); } } import com.atlassian.util.concurrent.ConcurrentHashSet; private final Set<String> mySet = new ConcurrentHashSet<>(); public void addToSet(String value) { mySet.add(value); } public boolean containsValue(String value) { return mySet.contains(value); } public void removeFromSet(String value) { mySet.remove(value); } import com.atlassian.util.concurrent.ThreadFactories; import com.atlassian.util.concurrent.ThreadPoolBuilder; private final ExecutorService threadPool = ThreadPoolBuilder .newBuilder() .setNameFormat("my-pool-%d") .setThreadFactory(ThreadFactories.namedThreadFactory()) .setMinThreads(2) .setMaxThreads(10) .setUnboundedQueue() .build(); public void submitTask(Runnable task) { threadPool.submit(task); } public void shutdownThreadPool() { threadPool.shutdown(); }


上一篇:
下一篇:
切换中文