T - 它保存的值的类型。
public interface Attribute<T>
| Modifier and Type | Method and Description |
|---|---|
boolean |
compareAndSet(T oldValue, T newValue)
如果当前值==期望值,则按原子值将该值设置为给定的更新值。
|
T |
get()
返回当前值,可能是
null
|
T |
getAndRemove()
已过时。
请考虑使用
getAndSet(Object) (价值null )。
|
T |
getAndSet(T value)
原子级设置为给定值并返回旧值,如果之前未设置,则返回
null 。
|
AttributeKey<T> |
key()
返回此属性的关键字。
|
void |
remove()
已过时。
请考虑使用
set(Object) (价值null )。
|
void |
set(T value)
设置值
|
T |
setIfAbsent(T value)
如果这个 Attribute的值是null原子方式设置为给定值。
|
AttributeKey<T> key()
T get()
null
void set(T value)
@Deprecated T getAndRemove()
getAndSet(Object) (价值null )。
AttributeMap中删除该属性并返回旧值。
随后的get()呼叫将返回null 。
如果您只想返回旧值并清除Attribute,同时仍将其保留在AttributeMap中, 请使用getAndSet(Object) ,值为null 。
请注意,即使您调用此方法,另一个通过AttributeMap.attr(AttributeKey)获得对此Attribute的引用的线程仍将在同一个实例上运行。 也就是说,如果现在另一个线程或甚至同一个线程再次调用AttributeMap.attr(AttributeKey) ,则会创建一个新的Attribute实例,因此与之前删除的实例不同。 由于在致电remove()或getAndRemove()时应特别小心。
boolean compareAndSet(T oldValue, T newValue)
true否则返回false 。
@Deprecated void remove()
set(Object) (价值null )。
AttributeMap中删除此属性。
随后的get()调用将返回@ {code null}。
如果您只想删除该值并清除Attribute,同时仍保留AttributeMap,请使用set(Object) ,值为null 。
请注意,即使您调用此方法,另一个通过AttributeMap.attr(AttributeKey)获得对此Attribute的引用的线程仍将在同一个实例上运行。 也就是说,如果现在另一个线程或者甚至同一个线程再次调用AttributeMap.attr(AttributeKey) ,则会创建一个新的Attribute实例,因此与之前删除的实例不同。 由于在拨打remove()或getAndRemove()时应特别小心。
Copyright © 2008–2018 The Netty Project. All rights reserved.