У С# есть классная новая функция
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 у вас больше гибкости, чтобы выбрать threadpool, в котором будет выполняться задача.
А что нас ждать? Это эквивалентно простому вызову get
string s = await f();
точно так же, как
String s = f().get();
Есть ли что-то еще для С#, или это действительно просто синтаксический сахар для версии Java? (Я не гуру С#, поэтому мне может что-то не хватает).