向当前 Java 线程添加属性
如何在 Java 中将“attributes
”设置为当前 Thread
,我想设置键值并在另一个位置但在同一个线程中获取值。就像这个 http://logging.apache.org/ log4j/1.2/apidocs/org/apache/log4j/MDC.html
How to I could set 'attributes
' to current Thread
in Java, I want to set key-values and get the value in another place, but in the same Thread. like to this http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您不能向 Java 中的任何给定线程添加属性,但您可以使用 ThreadLocal 实例来存储每个线程的任何特殊信息。
http://download.oracle.com/javase/6 /docs/api/java/lang/ThreadLocal.html
I do not think you can add attributes to any given thread in Java, but you could use a
ThreadLocal
instance to store any special information per thread.http://download.oracle.com/javase/6/docs/api/java/lang/ThreadLocal.html
以下是@edalorzo 的答案的示例代码:
要使用它,请执行以下操作:
警告:如果您的应用程序创建了很多线程并且不重用它们,则此代码可能会泄漏
HashMap
。Here's sample code for @edalorzo's answer:
To use it just this:
Warning: if you application creates lots threads and does not reuse them this code will potentially leak
HashMap
s.