Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 如何使用多线程来迭代包含多条记录的列表_Multithreading_Listiterator_Executors - Fatal编程技术网

Multithreading 如何使用多线程来迭代包含多条记录的列表

Multithreading 如何使用多线程来迭代包含多条记录的列表,multithreading,listiterator,executors,Multithreading,Listiterator,Executors,我有一个200条记录的列表。对于该列表中的每条记录,我需要调用一个API REST(findOrderByID)来接收完整的数据。问题是这个过程需要10秒以上的时间,我想使用多线程来缩短时间 用于我的列表的迭代 // My list with ~200 registers for (Order order: orderList.getID()) { OrderRestVO response = findOrderByID(order.getID); //Calling an API

我有一个200条记录的列表。对于该列表中的每条记录,我需要调用一个API REST(findOrderByID)来接收完整的数据。问题是这个过程需要10秒以上的时间,我想使用多线程来缩短时间

用于我的列表的迭代

// My list with ~200 registers
for (Order order: orderList.getID()) {
      OrderRestVO response = findOrderByID(order.getID); //Calling an API method
}

我的问题是,我如何利用多线程优化我的搜索?

这段简单的代码怎么会这么慢?我猜你会用每个ID点击数据库,然后取回数据??如果是,,为什么不创建一个新的调用,在其中传递所有ID并返回OrderRestVO列表…它将比多线程更快,因为在多线程的情况下,您仍然需要执行多个DB点击,而在这里您只执行一个,但我现在无法创建新的Web服务,这是我在我的应用程序中唯一的解决方案应用程序。@Rohittomas虽然您的评论通常是有意义的,OP明确地告诉您这是一个REST API调用。因此,如果您仍然使用多线程,那么在读取记录时在表上创建锁仍然需要时间…因此,如果您希望做出重大改进,我建议在sql中执行脏读…有回退…但只要您只是读取值,它就不应该成问题