java - 将上下文传递给多个线程是否安全?

标签 java android multithreading thread-safety

我正在实现一项为多个应用程序执行 REST 调用的服务。某些 REST 调用的结果应存储在内容提供程序中。

我目前正在尝试使用多个线程来执行 HTTP 请求、解析结果并将数据存储在内容提供程序中。为此,我必须将 Context 传递给每个线程。我不确定这是否是个好主意,因为我不知道 Context 是否可以传递给多个线程,因为它的大小、线程安全性等。我在想我只是传递对的引用每个线程的 Context 对象,所以传递它可能不重?

最佳答案

是的,这很好。我不认为显式同步是必需的,但是您可以使用 Context 做的许多有趣的事情必须发生在 UI 线程上。

由于这个原因,通常明智的做法是在 AsyncTask 中执行您的 http 请求,这将安排您实现 onPreExecuteonPostExecute 在 UI 线程上运行,并提供一个很好的取消接口(interface)。

关于java - 将上下文传递给多个线程是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535051/

相关文章:

java - Android游戏从“后退”按钮和“菜单”按钮崩溃

java - 处理DefaultHandlerExceptionResolver : org. springframework.http.converter.HttpMessageNotReadableException:JSON解析错误:意外字符

android - HttpLoggingInterceptor 未登录 android 发布版本

java - 如何实现泛型类型的构造函数

android - 在 Android Studio 中分离调试器

c++ 跨方法锁定

c++ - 更改全局变量名称

python - 并行读取文件并参数化类参数

java - 如何仅使用两个变量找到两点之间的距离,然后存储所有点并获得形状?

java - 如何从 ARCore [Android Studio] 中的 session.update() 获取位图