为了账号安全,请及时绑定邮箱和手机立即绑定

java线程池怎么用

java线程池怎么用

fenkapian 2018-01-15 09:25:49
ScheduledExecutorService scheduleThreadPool  = Executors.newScheduledThreadPool(5);scheduleThreadPool.schedule(() -> System.out.println("delay"), 1, TimeUnit.SECONDS);这个哪里不对啊  没有输出东西出来
查看完整描述

1 回答

?
书生

TA贡献12条经验 获得超4个赞

能把上下文相关的代码都贴一下么?你这个代码应该没有问题,我试了下也确保可以正常执行并且可以输出

查看完整回答
反对 回复 2018-01-15
  • fenkapian
    fenkapian
    public class NB { @Test public void test3() { ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(5); scheduleThreadPool.schedule(() -> System.out.println("delay"), 1, TimeUnit.SECONDS); } } 我这就一个方法
  • 书生
    书生
    难怪了,你在Junit方法里,必然不会输出。测试都是只有两个状态,成功或者失败,不会有控制台输出值。 private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private final ByteArrayOutputStream errContent = new ByteArrayOutputStream(); @Before public void setUpStreams() { System.setOut(new PrintStream(outContent)); System.setErr(new PrintStream(errContent)); } @After public void cleanUpStreams() { System.setOut(null); System.setErr(null); } @Test public void out() { System.out.print("hello"); assertEquals("hello", outContent.toString()); } @Test public void err() { System.err.print("hello again"); assertEquals("hello again", errContent.toString()); } 这样可以对控制台输出做断言。
  • fenkapian
    fenkapian 回复 书生
    这段代码和线程池也没什么关系啊
点击展开后面1
  • 1 回答
  • 0 关注
  • 1111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信