如何通过多线程取出ResultSet里面的数据?

如题所示,我自己写了一个demo,但是发现有点问题,不知道如何解决,求大神看看问题在哪?
如果用三个task就会少两条数据,如果是四个task,就少3条数据,以此类推~

main方法
图片说明

取数据的线程
图片说明

model
图片说明

This method does not wait for previously submitted tasks to
* complete execution. Use {@link #awaitTermination awaitTermination}
* to do that.

void shutdown()

This method does not wait for previously submitted tasks to
* complete execution. Use {@link #awaitTermination awaitTermination}
* to do that.