我在许多线程之间共享一个列表。线程所需的所有数据在它们开始之前就已经存在,我不会在列表中添加任何其他值。每个踏板在列表中取一个值,从列表中删除值,并完成一个远程调用。这个块是同步的。
while (!contactList.isEmpty()) {
Contact contact = null;
synchronized (contactList) {
if (!contactList.isEmpty()) {
contact = contactList.get(0);
contactList.remove(0);
}
}
//call the service with contact
}
有没有更有效的方法来完成这项工作?
目前,将所有联系人拆分为多个单独的程序会更快。