2012-08-30 16 views
2

可能重複:
How to make an make a web request in an async manner哪個是與Java進行異步http調用的最輕量級方式?

在Java中一個非常輕量級的方式,使同步HTTP調用使用HttpURLConnection

是否有同樣簡單的方法使非阻塞'異步'HTTP調用?

我已經看過:Java NIO,Netty Http客戶端,Apache Commons HttpClient 4.0,但解決方案要麼是複雜的(Java NIO),要麼引入依賴項,這是我想避免的。

+0

你是否也指非阻塞http調用?你可以在一個線程中做一個阻塞的http調用,但它仍然是異步的,但不知道這是你想要的 –

+0

非阻塞是我正在尋找!我在這方面澄清了上述問題。爲每個請求啓動一個線程正是我想避免的! – chaosmonkey

回答

0

HTTP同步協議。在這方面,我認爲你不應該在這兩種情況之間看到客戶方面的任何重大差異。但這也取決於你的意思是輕量級

+0

我會假設客戶端的每個請求(尊重應用程序中的http的同步性質)啓動一個線程vs使用基於NIO或類似的東西在一個線程中處理多個請求可能會有很大的不同? – chaosmonkey

+0

輕量級:易於集成到各種應用程序中,使用盡可能少的依賴關係 – chaosmonkey

+0

取決於您正在嘗試做什麼。如果您的客戶想要向服務器發送併發請求(即請求彼此不相關)那麼使用NIO可能會對資源更好。但是如果您在發送下一個請求(這是通常的'HTTP'流程)之前需要接收響應,那麼您可以重用一個線程(看不到NIO如何提供幫助你在這裏) – Cratylus

相關問題