
想知道 ExecutorService 提交的任务先 sleep1 秒是何意义?
ExecutorService executor = Executors.newSingleThreadExecutor(); executor.submit(() -> { try { Thread.sleep(1000); doSomething(); } catch (Exception e) { logger.error("异步接口执行失败", e); } }); 1 billlee Sep 29, 2021 为以后的优化留下空间? |
2 SoloCompany Sep 29, 2021 via iPhone 拿线程当协程用?先把写这个代码的人找出来打一顿吧 |
3 wangyu17455 Sep 30, 2021 理解不能 |
4 Kamiyu0087 Sep 30, 2021 可能是为了另一个任务优先执行? 不过这么写肯定是错的 |
5 ikas Sep 30, 2021 没有上下文..无法知道干嘛的... |
6 cnzjl Sep 30, 2021 等上一个事务运行完毕( |
7 BanGanExpert Sep 30, 2021 newSingleThreadExecutor(),说白了就是先异步执行 doSomething()这部分代码,因为这里明确只用了一个线程,然后线程里面先等个 1 秒, 这玩意说明他就是想主线程的执行完撒操作在处理,理论上 1 秒只要不做什么访问数据库或者远程接口的东西基本很多事情已经完成了,不过这么写是要被打的,哈哈哈 |
8 cheng6563 Oct 1, 2021 当 defer 用呗。。 |