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.