C# 异步和 Java ExecutorService 之间的区别
C# 有一个很酷的新功能
public Task<string> async f()
{
string r = LongCompute();
return r;
}
但这不等同于
public Future<String> f() {
return Globals.executorService.submit(new Callable<String>() {
public String call() throws Exception {
String r = longCompute();
return r;
}
});
}
在Java中,您可以更灵活地选择运行任务的线程池。
那么等待呢?这相当于只是调用 get
string s = await f();
就像
String s = f().get();
C#还有什么,或者它确实只是Java版本的语法糖?(我不是C#大师,所以我可能会错过一些东西)。