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

由于小弱实在太弱,研究了一个礼拜还是没弄会,所以大神闲直接回答这个问题太麻烦,告诉俺下面的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是用来在批处理任务中保存执行的结果的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值