Module java.base
Package java.lang

# Interface Thread.Builder.OfPlatform

All Superinterfaces:
  `Thread.Builder`

Enclosing interface:
  `Thread.Builder`

public static sealed interface Thread.Builder.OfPlatform extends Thread.Builder
A builder for creating a platform `Thread` or `ThreadFactory` that creates platform threads.

Unless otherwise specified, passing a null argument to a method in this interface causes a `NullPointerException` to be thrown.

Since:
  21
See Also:
  - `Thread.ofPlatform()`

## Nested Class Summary

## Nested classes/interfaces declared in interface java.lang.Thread.Builder

`Thread.Builder.OfPlatform, Thread.Builder.OfVirtual`

## Method Summary

Modifier and Type
Method
Description
`default Thread.Builder.OfPlatform`
`daemon()`
Sets the daemon status to `true`.
`Thread.Builder.OfPlatform`
`daemon(boolean on)`
Sets the daemon status.
`Thread.Builder.OfPlatform`
`group(ThreadGroup group)`
Sets the thread group.
`Thread.Builder.OfPlatform`
`inheritInheritableThreadLocals(boolean inherit)`
Sets whether the thread inherits the initial values of inheritable-thread-local variables from the constructing thread.
`Thread.Builder.OfPlatform`
`name(String name)`
Sets the thread name.
`Thread.Builder.OfPlatform`
`name(String prefix, long start)`
Sets the thread name to be the concatenation of a string prefix and the string representation of a counter value.
`Thread.Builder.OfPlatform`
`priority(int priority)`
Sets the thread priority.
`Thread.Builder.OfPlatform`
`stackSize(long stackSize)`
Sets the desired stack size.
`Thread.Builder.OfPlatform`
`uncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)`
Sets the uncaught exception handler.

### Methods declared in interface java.lang.Thread.Builder

`factory, start, unstarted`

## Method Details

### name

Thread.Builder.OfPlatform name(String name)
Description copied from interface: `Thread.Builder`
Sets the thread name.

Specified by:
  `name` in interface `Thread.Builder`
Parameters:
  `name` - thread name
Returns:
  this builder

### name

Thread.Builder.OfPlatform name(String prefix, long start)
Description copied from interface: `Thread.Builder`
Sets the thread name to be the concatenation of a string prefix and the string representation of a counter value. The counter's initial value is `start`. It is incremented after a `Thread` is created with this builder so that the next thread is named with the new counter value. A `ThreadFactory` created with this builder is seeded with the current value of the counter. The `ThreadFactory` increments its copy of the counter after `newThread` is used to create a `Thread`.

Specified by:
  `name` in interface `Thread.Builder`
Parameters:
  `prefix` - thread name prefix
  `start` - the starting value of the counter
Returns:
  this builder
Throws:
  `IllegalArgumentException` - if start is negative

### inheritInheritableThreadLocals

Thread.Builder.OfPlatform inheritInheritableThreadLocals(boolean inherit)
Description copied from interface: `Thread.Builder`
Sets whether the thread inherits the initial values of inheritable-thread-local variables from the constructing thread. The default is to inherit.

Specified by:
  `inheritInheritableThreadLocals` in interface `Thread.Builder`
Parameters:
  `inherit` - `true` to inherit, `false` to not inherit
Returns:
  this builder

### uncaughtExceptionHandler

Thread.Builder.OfPlatform uncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Description copied from interface: `Thread.Builder`
Sets the uncaught exception handler.

Specified by:
  `uncaughtExceptionHandler` in interface `Thread.Builder`
Parameters:
  `ueh` - uncaught exception handler
Returns:
  this builder

### group

Thread.Builder.OfPlatform group(ThreadGroup group)
Sets the thread group.

Parameters:
  `group` - the thread group
Returns:
  this builder

### daemon

Thread.Builder.OfPlatform daemon(boolean on)
Sets the daemon status.

Parameters:
  `on` - `true` to create daemon threads
Returns:
  this builder

### daemon

default Thread.Builder.OfPlatform daemon()
Sets the daemon status to `true`.

Implementation Requirements:
  The default implementation invokes daemon(boolean) with a value of `true`.
Returns:
  this builder

### priority

Thread.Builder.OfPlatform priority(int priority)
Sets the thread priority.

Parameters:
  `priority` - priority
Returns:
  this builder
Throws:
  `IllegalArgumentException` - if the priority is less than `Thread.MIN_PRIORITY` or greater than `Thread.MAX_PRIORITY`

### stackSize

Thread.Builder.OfPlatform stackSize(long stackSize)
Sets the desired stack size.

The stack size is the approximate number of bytes of address space that the Java virtual machine is to allocate for the thread's stack. The effect is highly platform dependent and the Java virtual machine is free to treat the `stackSize` parameter as a "suggestion". If the value is unreasonably low for the platform then a platform specific minimum may be used. If the value is unreasonably high then a platform specific maximum may be used. A value of zero is always ignored.

Parameters:
  `stackSize` - the desired stack size
Returns:
  this builder
Throws:
  `IllegalArgumentException` - if the stack size is negative