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();
+	}
+}