Interface StructuredTaskScope.Config
- Enclosing interface:
StructuredTaskScopePREVIEW<T,
R>
Config
is a preview API of the Java platform.
StructuredTaskScope
.
The configuration for a StructuredTaskScope
consists of a ThreadFactory
to create threads, an optional name for the purposes of monitoring
and management, and an optional timeout.
Creating a StructuredTaskScope
with StructuredTaskScope.open()
PREVIEW or StructuredTaskScope.open(Joiner)
PREVIEW
uses the default
configuration. The default configuration consists of a thread factory that
creates unnamed
virtual threads, no name for monitoring and management purposes, and no timeout.
Creating a StructuredTaskScope
with its 2-arg open
PREVIEW method allows a different configuration to be used. The function specified
to the open
method is applied to the default configuration and returns the
configuration for the StructuredTaskScope
under construction. The function
can use the with-
prefixed methods defined here to specify the components
of the configuration to use.
Unless otherwise specified, passing a null
argument to a method
in this class will cause a NullPointerException
to be thrown.
- Since:
- 24
-
Method Summary
Modifier and TypeMethodDescriptionReturns a newConfig
object with the given name.withThreadFactory
(ThreadFactory threadFactory) Returns a newConfig
object with the given thread factory.withTimeout
(Duration timeout) Returns a newConfig
object with the given timeout.
-
Method Details
-
withThreadFactory
Returns a newConfig
object with the given thread factory. The other components are the same as this object. The thread factory is used by a scope to create threads when forkingPREVIEW subtasks.- API Note:
- The thread factory will typically create virtual threads, maybe with names for monitoring purposes, an uncaught exception handler, or other properties configured.
- Parameters:
threadFactory
- the thread factory- Returns:
- a new
Config
object with the given thread factory - See Also:
-
withName
Returns a newConfig
object with the given name. The other components are the same as this object. A scope is optionally named for the purposes of monitoring and management.- Parameters:
name
- the name- Returns:
- a new
Config
object with the given name
-
withTimeout
Returns a newConfig
object with the given timeout. The other components are the same as this object.- API Note:
- Applications using deadlines, expressed as an
Instant
, can useDuration.between(Instant.now(), deadline)
to compute the timeout for this method. - Parameters:
timeout
- the timeout- Returns:
- a new
Config
object with the given timeout - See Also:
-
Config
when preview features are enabled.