有沒有辦法在java中實現Async方法調用除了線程和Executor?如果由Executor執行,是否會引入任何延遲?如何在Java中實現異步方法調用?
回答
使用Threads
是在Java中的方式。 Executors
只是將線程管理包裝在更好的容器中的一種方法。
它可能引入延遲。如果線程忙於處理其他任務,則會有延遲。否則,延遲基於OS上下文切換機制,該機制通常相當敏感(這反過來可能在多核體系結構以及基於超線程或類似技術的體系結構上變化)。
你的意思是說執行程序中引入的延遲取決於線程池和工作線程的可用性 – neo 2012-02-28 16:54:09
@neo,絕對 – 2012-02-28 16:55:31
您可以使用DynamicProxy(核心Java功能)在調用者和被調用者之間引入一個圖層。在代理中,您將方法調用表示爲對象。立即返回並在單獨的線程中調用該方法。一個問題仍然是如何將值返回給調用者。您是否計劃在稍後返回您想返回的值?這可以使用回調方法來解決。
不,我不想返回任何東西。 – neo 2012-02-28 17:00:57
您可以傳入實現回調的類。
new A(instanceOfB);
someMethodOfA() {
doSomething();
instanceOfB.callback();
}
另一個選擇是使用消息傳遞(JMS)來實現此類行爲。
也在Java EE6會話Bean中,您可以使用@Asynchronous來進行方法調用Async。
- 1. 如何異步調用java方法?
- 2. 如何從非異步方法異步調用異步方法
- 3. 如何實現異步方法
- 4. 實現異步方法wcf
- 5. 如何實現同步Java方法
- 6. 如何在Java中異步調用方法
- 7. 如何在不使用C#的異步方法中調用異步方法.Result
- 8. 如何從非異步方法調用異步方法?
- 9. 如何從不是異步方法調用異步方法?
- 10. 在.NET Remoting中實現異步調用
- 11. 在同步方法中調用異步
- 12. 使用JNI異步調用Java方法
- 13. 使用IObservable實現異步方法
- 14. 異步方法調用同步方法
- 15. Java的異步方法調用
- 16. 如何實現對支持異步回調的方法的調用的節流
- 17. 如何在Java中調用通用枚舉的實現方法?
- 18. 如何在java線程內調用異步方法?
- 19. 如何實現異步回調?
- 20. 如何使用muleClient.request從Java實現異步AMQP-RabbitMQ實現?
- 21. 異步調用異步方法
- 22. 如何調用異步方法?
- 23. 如何調用異步方法
- 24. 如何使庫方法調用異步?
- 25. 如何異步調用jersy post方法?
- 26. 如何在Java中實現同步方法超時?
- 27. 如何在NSOperation中實現異步網絡調用
- 28. 如何在java中使用同步方法實現線程同步?
- 29. 實現一個Excel UDF可以調用Web方法異步
- 30. 在MVVM silverlight中調用異步方法
您添加的所有內容都會導致延遲。 – 2012-02-28 17:00:35