编程语言
首页 > 编程语言> > java-如何将任务分配给每个处理器核心?

java-如何将任务分配给每个处理器核心?

作者:互联网

我正在四核Android手机上执行基本的加密/解密.

当前,每个文件加密时间为1.45秒.对于200个文件,多数民众赞成在5分钟左右.
如果使用全部4个内核,我可以将性能提高4倍.

for(i=0;i<200;i++)
{
     encrypt(file[i]);
}

将是简化的伪代码,我现在正在使用.

如何在android java编程的所有4个处理器内核上并行调用crypto函数?

解决方法:

使用ExecutorService并行执行任务:http://developer.android.com/reference/java/util/concurrent/ExecutorService.html

像这样:

    ExecutorService executorService = Executors.newFixedThreadPool(CORE_COUNT);
    for (int i = 0; i < 200; i++) {
        executorService.submit(new Runnable() {
            @Override
            public void run() {
                encrypt(file[i]);
            }
        });
    }

    // Waiting for completion
    while (!executorService.awaitTermination(100L, TimeUnit.MILLISECONDS);

标签:encryption,multicore,java,android
来源: https://codeday.me/bug/20191028/1954606.html