Java代码:import java.io.*;
import java.util.*;public class CmdProcessBuilder {
  public static void main(String args[]) 
     throws InterruptedException,IOException 
  {
    
    ProcessBuilder builder = new ProcessBuilder(new String[]{"C:\\Test.exe"});
    
    final Process process = builder.start();
    InputStream is = process.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);    PrintWriter to = new PrintWriter(process.getOutputStream());
    
    to.print("your name");
    to.flush();        String line;
    while ((line = br.readLine()) != null) {
      System.out.println(line);
      Thread.sleep(20);
    }  }
}C++代码1:
#include <stdio.h>int main(void)
{
char cmd[1024];         fscanf(stdin,"%s",cmd); for(;;){
   cin >> cmd;
   fprintf(stdout,"hello:%s\n",cmd);
         }     return EXIT_SUCCESS;
}C++代码2:
#include <stdio.h>int main(void)
{
for(;;){
   fprintf(stdout,"hello:%s\n",cmd);
         }     return EXIT_SUCCESS;
}我要做一个Java和C++程序做命令行交互的程序,请问“C++代码1”为什么会阻塞java的br.readLine(),“C++代码2”却运行正常。