Mercurial Hosting > nabble
view src/fschmidt/util/executor/ThreadTimer.java @ 68:00520880ad02
add fschmidt source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 05 Oct 2025 17:24:15 -0600 |
parents | |
children |
line wrap: on
line source
package fschmidt.util.executor; import java.util.Date; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.BlockingQueue; public final class ThreadTimer implements RunnableWrapper { private final Map<Thread,Date> map = new ConcurrentHashMap<Thread,Date>(); @Override public Runnable wrap(final Runnable command) { return new Runnable(){public void run(){ map.put(Thread.currentThread(),new Date()); try { command.run(); } finally { map.remove(Thread.currentThread()); } }}; } public Date whenRun(Thread thread) { return map.get(thread); } public Set<Thread> getThreads() { return map.keySet(); } }