提交 a789a081 编写于 作者: 1 1537639

c

上级 46f02764
......@@ -12,7 +12,7 @@ import java.util.ArrayList;
import java.util.List;
public class Download implements Runnable{
private final String name;
public final String name;
private final FTPClient ftpClient;
private final String absoluteLocalDirectory;
private final String filename;
......
......@@ -2,28 +2,44 @@ package ftp;
import org.apache.commons.net.ftp.FTPClient;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.Queue;
import java.util.concurrent.*;
public class TaskList {
ThreadPoolExecutor pool;
ExecutorService es = Executors.newFixedThreadPool(100);
ExecutorService es_upload = Executors.newFixedThreadPool(20);
ExecutorService es_download = Executors.newFixedThreadPool(20);
ThreadPoolExecutor pool_upload=(ThreadPoolExecutor)es_upload;
ThreadPoolExecutor pool_download=(ThreadPoolExecutor)es_download;
public void newDownload(String name, FTPClient ftpClient, String filename, String absoluteLocalDirectory)//提交一个下载任务
{
es.submit(new Download("Downloading:"+filename,ftpClient,filename,absoluteLocalDirectory));
es_download.submit(new Download("Downloading:"+filename,ftpClient,filename,absoluteLocalDirectory));
}
public void newUpload(FTPClient ftpClient, String filepath)//提交一个上传任务
{
es.submit(new Upload("Uploading:"+filepath,ftpClient,filepath));
es_upload.submit(new Upload("Uploading:"+filepath,ftpClient,filepath));
}
public void shutDownAlltask()//关闭所有任务
public void shutDownAlltask()//关闭所有下载与上传任务
{
es.shutdownNow();
es_upload.shutdownNow();
es_download.shutdownNow();
}
public List<String> TaskView()//返回一个包含当前所有任务名字的字符串列表,用以刷新
public List<String> TaskView()//返回一个包含当前所有任务名字的字符串列表,用以刷新,前半部分为上传任务,后半部分为
{
es.
Queue<Runnable> queue;
queue=pool_upload.getQueue();
List<String> list=new ArrayList<>();
while(!queue.isEmpty())
{
Upload r=(Upload) queue.poll();
list.add(r.name);
}
queue=pool_download.getQueue();
while(!queue.isEmpty())
{
Download r=(Download) queue.poll();
list.add(r.name);
}
}
}
......@@ -8,7 +8,7 @@ import java.io.IOException;
public class Upload implements Runnable//上传文件,上传文件夹,新建文件夹
{
private final String name;
public final String name;
private final FTPClient ftpClient;
private final String filepath;
public Upload(String name,FTPClient ftpClient,String filepath) {
......
package ftp;
public class test {
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册