public abstract class Pipe extends Object
A pipe consists of a pair of channels: A writable sink
channel and a readable source
channel. Once some bytes are written to the sink channel they can be read
from source channel in exactlyAthe order in which they were written.
Whether or not a thread writing bytes to a pipe will block until another thread reads those bytes, or some previously-written bytes, from the pipe is system-dependent and therefore unspecified. Many pipe implementations will buffer up to a certain number of bytes between the sink and source channels, but such buffering should not be assumed.
Modifier and Type | Class and Description |
---|---|
static class |
Pipe.SinkChannel
A channel representing the writable end of a
Pipe . |
static class |
Pipe.SourceChannel
A channel representing the readable end of a
Pipe . |
Modifier | Constructor and Description |
---|---|
protected |
Pipe()
Initializes a new instance of this class.
|
Modifier and Type | Method and Description |
---|---|
static Pipe |
open()
Opens a pipe.
|
abstract Pipe.SinkChannel |
sink()
Returns this pipe's sink channel.
|
abstract Pipe.SourceChannel |
source()
Returns this pipe's source channel.
|
public abstract Pipe.SourceChannel source()
public abstract Pipe.SinkChannel sink()
public static Pipe open() throws IOException
The new pipe is created by invoking the openPipe
method of the
system-wide default SelectorProvider
object.
IOException
- If an I/O error occurs Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.