我是一名普通的C#开发人员,但有时我会使用Java开发应用程序。我想知道是否有Java等效于C#async / await?简单来说,java相当于什么:
async Task<int> AccessTheWebAsync() { HttpClient client = new HttpClient(); var urlContents = await client.GetStringAsync("http://msdn.microsoft.com"); return urlContents.Length; }
不,在Java中-甚至在v5之前的C#中,都没有等效的异步/等待方式。
在后台构建状态机是一项相当复杂的语言功能。
Java中对异步/并发的 语言 支持相对较少,但是该java.util.concurrent软件包包含许多与此相关的有用 类 。(不完全等同于任务并行库,但是最接近它。)
java.util.concurrent