heima并发---并发工具(3)---线程池方法--215
代码演示:
Callable和Runnable相比就是多了返回的记录。
submit方法是提交给线程池中的线程来调用的。
代码:
Future是阻塞的。future.get是阻塞主线程的。
单方法的接口都可以用lambda表达式简化的。
---215---
invoke和invokeAll
在这里面去调用下。
---216---
invokeAny:有一个线程执行完毕就返回future不管其他的是不是执行完毕了。
测试:当fix的线程池只有一个线程的话?
就是执行的任务1 2和3都被拍到任务队列里面的。
---217---
shutdown。
shutdown不是阻塞的。
空闲的线程是打断的不是自己结束的。
返回的是队列的任务。
---218---
举例:
调用shutdown之后不能提交任务了。
shutdown并不会阻塞线程的其他任务的。
强制等待,时间够了或者所有任务执行完毕再往下执行。
shutdowm:
正在执行的任务都会被打断,返回阻塞队列的任务。
---219---