62,620
社区成员
发帖
与我相关
我的任务
分享
List 原来的 ...;
List 准备发送的 = new ArrayList(原来的);
Sender s ...;
s.send(准备发送的);
原来的.removeAll(准备发送的) ; // 把已经发送的所有对象从原来的集合中删除掉。
注意如果你是一个线程准备数据,另一个线程发送,你就需要在修改这个集合时使用同步锁。如果你是单一线程发送,那你发送完了清空集合,另外你从数据库中发现发送了75次那表示你发送成功后会记录它已经发送了?那下次取的时候不要再选它了。
readFromSocket 这个表示对方出错了,可能是你给的数据有问题,也可能是对方自己出了其它问题,所以你先确认一下数据没有问题。