Mercurial Hosting > nabble
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fschmidt/util/executor/ThreadTimer.java Sun Oct 05 17:24:15 2025 -0600 @@ -0,0 +1,32 @@ +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(); + } +}