当前位置:   article > 正文

java to .net_c# .NET中有没有类似Java中CompletionService的实现?(java to c# 转化)

c#有类似java的executorservice

由于小弱实在太弱,研究了一个礼拜还是没弄会,所以大神闲直接回答这个问题太麻烦,告诉俺下面的Java代码怎么用c#来写也是好的。

下面这段Java线程池的代码(双击下面的图片可以看到清晰的代码)主要用到了ExcutorService、CompletionService 这两个类的用法我能看懂。

31056f73643a3b5ff3743de27a66c271.png

现在我需要将其翻译为C#.NET中的代码表示,主要是想对红色部分做简单的替换。

ExcutorService可以想到用C#中的ThreadPool来做对应替换,但CompletionService我在google上查了一天资料还是不知道该怎么办,请大家帮帮忙。

下面给出相应文字版的Java代码:

ExecutorService pool = null;

pool = Executors.newFixedThreadPool(BaseBlockUtil.THREAD_NUN);

CompletionService completionService = new ExecutorCompletionService(pool);

int runnerThread = 0;

foreach (BlockObject blockObject in putExtra.processes)

{

runnerThread++;

while (runnerThread > (BaseBlockUtil.THREAD_NUN + 1))

{

completionService.take().get();

runnerThread--;

}

BlockUpload task = new BlockUpload(blockObject, jsonObjectRet, putExtra, token, httpClient, uploadBatch);

completionService.submit(task);

}

for (int i = 0; i < runnerThread; i++)

{

completionService.take().get();

}

pool.shutdown();

CompletionService的作用:

CompletionService是用来在批处理任务中保存执行的结果的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58564
推荐阅读
相关标签
  

闽ICP备14008679号