В 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? (Я не гуру С#, поэтому могу что-то упустить).