Netty的JavaDocs解释ChannelLocal与ThreadLocal相似,但是我对它的用法有一些疑问。 ThreadLocal是带有访问实例特定对象的静态方法的静态类。 ChannelLocal不是静态的,具有静态的内部映射或静态的方法。该文档没有提供访问ChannelLocal或将对象放入ChannelLocal的示例,因此我希望有人可以让我对它的用法有所了解。

谢谢!

最佳答案

ChannelLocal用于将某些数据分配给Channel。

这是一个例子:

// Declare
public static final ChannelLocal<Integer> data = new ChannelLocal<Integer>();

// Set
data.set(e.getChannel(), 1);

// Get
int a = data.get(e.getChannel());


这是几个真实的例子:


http://www.assembla.com/code/argonms/subversion/nodes/trunk/src/argonms/center/recv/RemoteServerListener.java?rev=44
http://eucalyptus.sourcearchive.com/documentation/1.6.2/ServiceSinkHandler_8java-source.html

10-08 01:23