A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田向向 高级黑马   /  2012-7-6 15:49  /  1628 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 田向向 于 2012-7-6 16:48 编辑

import java.io.InputStream;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class CloseResource {
        public static void main(String[] args) throws Exception {

                ExecutorService exec = Executors.newCachedThreadPool();

                exec.execute(new IOBlockedTest(System.in));

                exec.shutdownNow();

                System.in.close();

                System.out.println("done");

        }

}

class IOBlockedTest implements Runnable {

        private InputStream in;

        public IOBlockedTest(InputStream is) {

                in = is;

        }

        public void run() {

                try {

                        System.out.println("Waiting for read():");

                        in.read();

                } catch (Exception e) {

                        if (Thread.currentThread().isInterrupted()) {

                                System.out.println("Interrupted from blocked I/O");

                        } else {

                                throw new RuntimeException(e);

                        }

                }

                System.out.println("Exiting IOblocked.run()");

        }

}

为什么运行结果会只输出了Waiting for read():,哪位高手能给我解释一下这个程序?

1 个回复

倒序浏览
那是在等待键盘录入,可以输入一些内容后回车再看一下效果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马