是否存在java等效的以下asynch / await .NET 4.5代码来处理httprequests或实际上任何调用的方法调用)?
public async Task<System.IO.TextReader> DoRequestAsync(string url)
{
HttpWebRequest req = HttpWebRequest.CreateHttp(url);
req.AllowReadStreamBuffering = true;
var tr = await DoRequestAsync(req); // <- Wait here and even do some work if you want.
doWorkWhilewaiting(); // ...look ma' no callbacks.
return tr;
}
我打算在控制器/ GET方法中调用它(从第3个partyl REST端点获取数据),而且我是java世界的新手。
非常感谢任何信息。
答案 0 :(得分:3)
不,Java没有像async / await这样的东西。 java.util.concurrent
包中包含各种有用的并发类(对于线程池,生产者/消费者队列等),但实际上它是C#5中的语言支持,将所有内容联系在一起......这就是尚未出现在Java中。
据我所知,它不是Java 8计划的一部分 - 尽管像方法文字和lambda表达式这样的东西至少会使显式回调方法比在Java 7中简单得多。