xil*_*il3 6 java singleton multithreading android
让我给你一个场景.
假设我的第一个Activity加载,也会创建一个线程,它将在后台无限期运行.
现在,如果我转移到另一个Activity,我假设我最初在主活动中创建的线程将继续运行.
所以,现在我的主要问题 - 为了从其他活动管理这个后台线程,在单例对象中存储对该线程的引用是否安全?
是和不是。理论上,你不会有任何问题,但你一定不能让引用逃逸。
将单例对象中的引用保持为私有可能会出现问题,它不能将引用传递给其他任何对象或允许其他任何对象访问它,否则它可能会失去控制。
其次,您的活动创建的线程不得允许访问其成员变量或允许对它们的引用逃逸。
关于该领域的一本好书是 Brian Goetz 所著的《Java Concurrency in Practice》
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |