java.lang.Object
jdk.incubator.concurrent.ScopedValue.Carrier
- 封闭类:
ScopedValue<T>
作用域值(如 keys )到值的映射。
Carrier 用于累积映射,以便可以使用绑定到值的map中的所有作用域值执行操作(Runnable 或 Callable )。以下示例运行一个操作,其中 k1 绑定(或反弹)到 v1,k2 绑定(或反弹)到 v2。
Carrier 是不可变的和线程安全的。 where 方法返回一个新的 Carrier 对象,它不会改变现有的映射。
除非另有说明,否则将 null 参数传递给此类中的方法将导致抛出 NullPointerException 。
- 自从:
- 20
-
方法总结
修饰符和类型方法描述<R> R调用一个值返回操作,并将此map中的每个作用域值绑定到它在当前线程中的值。<T> Tget(ScopedValue<T> key) 返回此map中ScopedValue的值。void运行一个操作,此map中的每个作用域值都绑定到它在当前线程中的值。where(ScopedValue<T> key, T value) 返回一个新的Carrier,其中包含来自该运营商的映射以及从key到value的新映射。
-
方法详情
-
where
返回一个新的Carrier,其中包含来自该运营商的映射以及从key到value的新映射。如果此运营商已经具有作用域值key的映射,那么它将映射到新的value。当前的载体是不可变的,所以它不会被这个方法改变。- 类型参数:
T- 值的类型- 参数:
key-ScopedValue键value- 值,可以是null- 返回:
-
一个新的
Carrier,包含来自该运营商的映射以及新映射
-
get
返回此map中ScopedValue的值。- 类型参数:
T- 值的类型- 参数:
key-ScopedValue键- 返回:
- 值
- 抛出:
NoSuchElementException- 如果此map中不存在密钥
-
call
调用一个值返回操作,并将此map中的每个作用域值绑定到它在当前线程中的值。当操作完成时(正常或异常),map中的每个作用域值将恢复为未绑定状态,或恢复为当前线程中先前绑定时的先前值。作用域值旨在用于 structured manner 。如果
op创建了一个StructuredTaskScope但没有创建 close 它,那么退出op会导致在动态范围内创建的每个StructuredTaskScope的底层结构被关闭。这可能需要阻塞,直到所有子线程都完成了它们的子任务。关闭是按照创建它们的相反顺序完成的。一旦关闭,StructureViolationException就会被抛出。- 类型参数:
R- 操作结果的类型- 参数:
op- 要运行的操作- 返回:
- 结果
- 抛出:
Exception- 如果op异常完成- 参见:
-
run
运行一个操作,此map中的每个作用域值都绑定到它在当前线程中的值。当操作完成时(正常或异常),map中的每个作用域值将恢复为未绑定状态,或恢复为当前线程中先前绑定时的先前值。作用域值旨在用于 structured manner 。如果
op创建了一个StructuredTaskScope但没有创建 close 它,那么退出op会导致在动态范围内创建的每个StructuredTaskScope的底层结构被关闭。这可能需要阻塞,直到所有子线程都完成了它们的子任务。关闭是按照创建它们的相反顺序完成的。一旦关闭,StructureViolationException就会被抛出。- 参数:
op- 要运行的操作- 参见:
-