我想找到一种在执行过程中标识Runnable实例的方法。基本上,我正在创建一个临时缓存,该线程可以通过ThreadLocal访问,但是将其绑定到Thread还不够,因为我的应用程序正在使用线程池,因此同一线程将一再被重复使用。由于传递给线程的Runnable将不会被重用,因此我想找到一种进入Runnable的方法,这样我就可以在执行过程中找到相同的Runnable。它将用作Map的键,因此即使只是toString()的返回也足够了。我不是在创建线程池,而是从多个池中创建线程,因此,如果可能的话,我宁愿不要尝试扩大Thread / Runnable创建过程。我似乎找不到从Thread.currentThread()获取任何有用信息的方法,但如果可能的话,最好使用该方法。
2 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
使用Map
whoes值作为Runnables
,其键为System.identityHashcode()
。虽然不完美,但效果却不尽如人意。
否则,使每个属性Runnable
都有其自己的UUID
属性并将其用作键。现在很完美。但是更贵。
添加回答
举报
0/150
提交
取消