完成一个线程计算1-100之间所有数的和,另外一个线程取1-100之间所有数的和的过程

tech2022-09-10  98

代码

public static void main(String[] args) throws Exception { ExecutorService nFixed = Executors.newFixedThreadPool(2); PipedInputStream pi = new PipedInputStream(); PipedOutputStream po = new PipedOutputStream(); pi.connect(po); nFixed.execute(new Runnable() { @Override public void run() { try { int sum = 0; byte[] bytes = new byte[100]; int length=0; for (int i = 1; i <=100; i++) { //添加休眠是为了便于观察,可不加 Thread.sleep(2000); sum+=i; //循环一次往管道里面写入一次 po.write(sum); System.out.println("写入了"+sum); } } catch (Exception e) { e.printStackTrace(); } } }); nFixed.execute(new Runnable() { @Override public void run() { try { int length=0; //管道流,只有在输出流输出内容到管道中之后,输入流就自动获取。 while((length=pi.read())!=-1) { System.out.println(length); } } catch (Exception e) { e.printStackTrace(); } } }); }
最新回复(0)