Java 按照线程启动的顺序获取线程的结果
我正在使用以下端点从api访问数据:-Java 按照线程启动的顺序获取线程的结果,java,android,multithreading,Java,Android,Multithreading,我正在使用以下端点从api访问数据:- 1.getProductList 2.getImageurlofProduct/productid 我应该创建一个包含每个产品的productid、productprice和productimageurl的hashmaps的arraylist。从主线程到第一个端点,我生成一个thread-a,当我解析结果时,我从thread a生成线程 但是,这些线程响应threadA的顺序与它们启动时的顺序不同。因此,我最终将产品2的imageurl添加到id为1的产
1.getProductList
2.getImageurlofProduct/productid
我应该创建一个包含每个产品的productid、productprice和productimageurl的hashmaps的arraylist。从主线程到第一个端点,我生成一个thread-a,当我解析结果时,我从thread a生成线程
但是,这些线程响应threadA的顺序与它们启动时的顺序不同。因此,我最终将产品2的imageurl添加到id为1的产品中
我该怎么处理呢。一个算法应该适合我。
如果您想让我澄清更多的问题,请告诉我。如果您使用
执行器来生成线程,您可以保存所有返回的Future
s,然后按启动时的顺序调用Future.get()
请在此处阅读更多信息:和。如果您使用执行器来生成线程,您可以保存所有返回的Future
s,然后按启动时的顺序对其调用Future.get()
请在此处阅读更多信息:和。+1。在生成任务
线程时,将未来
放入列表
。当所有的未来的的回复都为true时,isDone()
,您就有了有序的结果。+1。在生成任务
线程时,将未来
放入列表
。当所有的Future
s对isDone()
的回复都为true时,您将按顺序获得结果。