For instance, data written to stdout in a C program may be heavily buffered or may be lost entirely. Many implementations do not provide line buffering, so that output from several processors can become intermixed and garbled. Furthermore, it is not unreasonable for applications to rely on this ability, though they should not expect high performance.
Input is a different issue.
This is what users often expect, though not all implementations allow it to work. Some implementations provide the optional ability to broadcast the input to all processes, with the requirement that all processes read the same data. When possible, applications should avoid reading from standard input, choosing instead to open files.