我正在实现一项为多个应用程序执行 REST 调用的服务。某些 REST 调用的结果应存储在内容提供程序中。
我目前正在尝试使用多个线程来执行 HTTP 请求、解析结果并将数据存储在内容提供程序中。为此,我必须将 Context 传递给每个线程。我不确定这是否是个好主意,因为我不知道 Context 是否可以传递给多个线程,因为它的大小、线程安全性等。我在想我只是传递对的引用每个线程的 Context 对象,所以传递它可能不重?
最佳答案
是的,这很好。我不认为显式同步是必需的,但是您可以使用 Context
做的许多有趣的事情必须发生在 UI 线程上。
由于这个原因,通常明智的做法是在 AsyncTask
中执行您的 http 请求,这将安排您实现 onPreExecute
和 onPostExecute
在 UI 线程上运行,并提供一个很好的取消接口(interface)。
关于java - 将上下文传递给多个线程是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535051/