我个人理解: 首先询问面试官,任务是否重要、是否可以丢失,如果可以丢失,直接采取丢掉的拒绝策略 如果重要,即不能丢失 首先,在创建线程池的时候,我们选择的任务队列一定不要是无界的,这种场景使用无界oom应该跑不掉了 然后,实现rejectHandler接口,自定义拒绝策略(对于线程池无法装下的任务,暂时可以放到消息队列或者redis 缓存中,找一个不丢失任务的容器即可),当任务执行后写一个回调函数,去我们的redis或者消息队列中查看相应的key是否存在任务,存在则取回任务,让线程池继续执行,否则说明任务都执行完