java - 热衷于在 JAVA 中使用线程来实现 EWS API?

标签 java multithreading optimization

我有以下 EWS JAVA API 函数。

public static void cleanRootFolders(String account) throws Exception{

    deleteEmailsFromInbox(account);
    deleteEmailsFromDrafts(account);
    deleteEmailsFromSentItems(account);
    deleteEmailsFromJunkEmails(account);
    deleteEventsFromCalendar(account);
    deleteEmailsFromDeletedItems(account);
}

我如何实现线程来同时执行这六个方法以节省时间而不是一个接一个地执行?

最佳答案

您可以按如下方式使用线程池:

ExecutorService executor = Executors.newFixedThreadPool(6);
Runnable r = new Runnable() {
            @Override
            void run() {
                deleteEmailsFromInbox(account);
            }
        }
executor.execute(r)

r = new Runnable() {
            @Override
            void run() {
              deleteEmailsFromDrafts(account);
            }
        }

executor.execute(r)

或者您可以简单地为每个任务启动一个线程:

Runnable r = new Runnable() {
                @Override
                void run() {
                    deleteEmailsFromInbox(account);
                }
            }
(new Thread(r)).start();

关于java - 热衷于在 JAVA 中使用线程来实现 EWS API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41422273/

相关文章:

c - 为什么使用第三个变量比加法技巧更快?

java - Spring可以自动处理验证错误吗?

java - 用注释标记数组的不同维度

c# - 互锁和内存屏障

Android Eclipse Debug模式 - 线程

c# - nUnit Assert.That委托(delegate)并发问题

java - 如果哈希码被重写以使其仅返回一个常数,Hashmap 键将如何表现?

java - 无法调整 JButton 的大小

performance - Lua优化内存

java - 在Java中递归添加文件-速度问题