我想确保我的方法在我应该运行的线程上运行。为此,想在我的日志中添加线程的名称或ID。为了检查我的方法是否在UIthread,thread1,thread2 .... threadx。
中运行问题:
感谢任何指导。
答案 0 :(得分:0)
使用ThreadLocal。实际上,文档中的示例正是您所需要的:
import java.util.concurrent.atomic.AtomicInteger;
public class UniqueThreadIdGenerator {
private static final AtomicInteger uniqueId = new AtomicInteger(0);
private static final ThreadLocal < Integer > uniqueNum =
new ThreadLocal < Integer > () {
@Override protected Integer initialValue() {
return uniqueId.getAndIncrement();
}
};
public static int getCurrentThreadId() {
return uniqueId.get();
}
} // UniqueThreadIdGenerator
如果需要,可以将所需名称传递给Thread,并在ThreadLocal
方法的第一行中将其设置为静态run()
变量。