⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipedbytes.java

📁 java多线程编程实例_Source
💻 JAVA
字号:
import java.io.*;

public class PipedBytes extends Object {
	public static void writeStuff(OutputStream rawOut) {
		try {
			DataOutputStream out = new DataOutputStream(
					new BufferedOutputStream(rawOut));
	
			int[] data = { 82, 105, 99, 104, 97, 114, 100, 32, 
						   72, 121, 100, 101 };

			for ( int i = 0; i < data.length; i++ ) {
				out.writeInt(data[i]);
			}

			out.flush();
			out.close();
		} catch ( IOException x ) {
			x.printStackTrace();
		}
	}

	public static void readStuff(InputStream rawIn) {
		try {
			DataInputStream in = new DataInputStream(
					new BufferedInputStream(rawIn));

			boolean eof = false;
			while ( !eof ) {
				try {
					int i = in.readInt();
					System.out.println("just read: " + i);
				} catch ( EOFException eofx ) {
					eof = true;
				}
			}

			System.out.println("Read all data from the pipe");
		} catch ( IOException x ) {
			x.printStackTrace();
		}
	}

	public static void main(String[] args) {
		try {
			final PipedOutputStream out = 
					new PipedOutputStream();

			final PipedInputStream in = 
					new PipedInputStream(out);

			Runnable runA = new Runnable() {
					public void run() {
						writeStuff(out);
					}
				};

			Thread threadA = new Thread(runA, "threadA");
			threadA.start();
	
			Runnable runB = new Runnable() {
					public void run() {
						readStuff(in);
					}
				};
	
			Thread threadB = new Thread(runB, "threadB");
			threadB.start();
		} catch ( IOException x ) {
			x.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -