gpt4 book ai didi

android - 如何使用处理程序线程进行多线程

转载 作者:行者123 更新时间:2023-11-29 02:25:32 25 4
gpt4 key购买 nike

我正在尝试在谷歌地图上移动多个标记,每个标记都在单独的线程中。目前我在循环内使用 java 线程类为每辆车创建单独的线程。这是示例代码:

private void proceedToMoveVehicle(ArrayList<RealTimeDetailsResponce> sourceList, ArrayList<RealTimeDetailsResponce> destinationList) {
for (int i = 0; i < destinationList.size(); i++) {
for (int j = 0; j < sourceList.size(); j++) {
if (destinationList.get(i).getVehicleNo().equalsIgnoreCase(sourceList.get(j).getVehicleNo())) {
final com.google.maps.model.LatLng vehicleStartPositions = new com.google.maps.model.LatLng(sourceList.get(j).getLatitude(), sourceList.get(j).getLongitude());
final double destainationLatitude = destinationList.get(i).getLatitude();
final double destainationLongitude = destinationList.get(i).getLongitude();
final String vehicleTitle = sourceList.get(j).getVehicleNo();
final com.google.maps.model.LatLng vehicleEndPositions = new com.google.maps.model.LatLng(destainationLatitude, destainationLongitude);
final double speedValue = 0.0000;
if (vehicleStartPositions.lat != vehicleEndPositions.lat || vehicleStartPositions.lng != vehicleEndPositions.lng) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
getPathyFromDirectionAPiRequestNew(vehicleStartPositions, vehicleEndPositions, vehicleTitle);
runOnUiThread(new Runnable() {
@Override
public void run() {
moveVehicle(vehicleTitle, speedValue);
}
});
}
});
thread.start();
}
}
}
}
}

我每 5 秒从服务器获取车辆的更新位置。在这里,缺点是一旦我获得更新的位置,我就无法再次重用这些线程,我必须再次创建一个新线程。

我听说过 android 处理程序线程,因为我们可以使用 Looper 重用线程。有人可以帮助我使用处理程序线程执行此操作。

最佳答案

试试这个:

ExecutorService executorService = Executors.newFixedThreadPool(32); // you can number of threads you want

executorService.execute(new Runnable() {
public void run() {
//do your work1 here
}
});

executorService.execute(new Runnable() {
public void run() {
//do your work2 here and so on..
}
});

或者你可以放一个循环。

关于android - 如何使用处理程序线程进行多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52477389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com