Mat*_*ias 20 concurrency singleton android
直到最近,我们的应用程序在整个应用程序中使用ThreadSafeClientConnManager共享一个Apache HttpClient实例.http客户端实例由单例类保存.
由于我不喜欢单例模式存在的众多问题,我将我的API访问器重构为每线程对象,但现在对于每个线程(在我们的情况下主要是指每个Activity/Service),都会创建一个新的HttpClient实例.
这不是我对这种新方法有问题,但我已经读过Apache人员建议每个应用程序只有一个实例出于性能原因.
在视觉上,我们之前做的是:
HttpClient (thread safe)
|
|
/\
/ \
Activity1...ActivityN
Run Code Online (Sandbox Code Playgroud)
现在,我们这样做:
Activity1 ... ActivityN
| |
| |
HttpClient1 HttpClientN
Run Code Online (Sandbox Code Playgroud)
你们是如何在你的应用程序中做到这一点的?如果您在应用程序和可能有多个并发线程之间共享一个HttpClient,那么如何处理对它的访问?
Nat*_*ate 12
简而言之:
org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager在构造DefaultHttpClient时创建一个实例并使用它.
链接到示例源: HttpClient多线程访问
编辑:对不起,在发布之前没有看到您的编辑.在这种情况下,"Singleton"没有任何内在错误.
| 归档时间: |
|
| 查看次数: |
5282 次 |
| 最近记录: |