我正在开发一个我希望实现一个简单的下载程序的android项目。所以我使用ThreadPool,其实现如下
/* CHECKING */
if (isset($_POST["urlCheck"])) {
$url = $_POST["urlCheck"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
if (filter_var($url, FILTER_VALIDATE_URL) !== false)
exit("success");
else
exit("error");
}
/* TAKING INFO */
if (isset($_POST["urlGetData"])) {
$url = $_POST["urlGetData"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
$name= GetData($username);
function GetOnlyUsername($username) {
if ((strpos($username, 'profile.php?id=')) !== false) {
$username = str_replace("profile.php?id=", "", $username);
if ((strpos($username, '&fref=ts')) !== false) {
$username = str_replace("&fref=ts", "", $username);
}
} else if ((strpos($username, '?')) !== false) {
$test = explode("?", $username);
$username = $test[0];
}
return $username;
}
它工作正常。问题是ThreadPoolExecuter使用队列,因此上次下载执行时间太长,但我需要更快地执行它们(最后一次下载具有更高的优先级)。
问题是这样,我如何使用堆栈代替此BlockingQueue?
提前致谢