使用take方法实现了阻塞式获取任务,如果没有队列中没有元素,则当前线程阻塞在队列上
使用offer方法实现了提交任务的非阻塞,实现的,如果是使用put方法,则提交任务的线程会被阻塞住
父类Queue是有offer()方法的,没有put()方法,而put方法是在BlockingQueue中的,可以实现阻塞式提交任务,因为线程池需要有maxPoolSize的关系,不需要阻塞式提交任务,所以提交任务采用的是offer方法,如果队列满了,则返回false,然后去创建maxPoolSize的线程数
take()方法是BlockingQueue中的,因为需要实现阻塞式获取任务,所以使用take()实现,而父类Queue中的poll()方法则是非阻塞式获取元素,如果没有元素,则返回null。



