社区
Android
帖子详情
多线程操作全局静态List的问题
shengshengBoom
2017-09-26 10:33:53
本人写代码的时候遇到一个问题,就是我在子线程获取数据,然后add数据到全局list,然后排列,再post到Main,然后Main发送广播到Fragment,更新Adapter,这个时候应为adapter的数据源也是这个全局LIst,那么可能这个主线程刷新的时候,子线程获取到数据又往全局list添加了数据,会导致adapter报错,我这种设计该怎么更改呢
...全文
515
3
打赏
收藏
多线程操作全局静态List的问题
本人写代码的时候遇到一个问题,就是我在子线程获取数据,然后add数据到全局list,然后排列,再post到Main,然后Main发送广播到Fragment,更新Adapter,这个时候应为adapter的数据源也是这个全局LIst,那么可能这个主线程刷新的时候,子线程获取到数据又往全局list添加了数据,会导致adapter报错,我这种设计该怎么更改呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
江三木洛
2017-09-26
打赏
举报
回复
adapter为什么会报错,添加了刷新也是对的啊 要么你就在添加数据和刷新数据的方法里加锁呗
xiaohuh421
2017-09-26
打赏
举报
回复
多线程同时访问一个东西的时候, 你就需要做多线程同步. 加锁是唯一解决办法.
Jing丶無雙
2017-09-26
打赏
举报
回复
不要这个全局的list,直接将子线程获取数据广播到Fragment,然后把这个新的数据赋值给你adapter里面的list对象,最后通知UI线程调用adapter.notifyDataSetChanged()
多线程
中,
全局
变量用static修饰导致变量被共享
多线程
中,有时候需要调用
多线程
的时候需要传参,如果
全局
变量用static修饰,会导致变量被共享,这些变量值被用到的时候不一定会是最新的。 public class SqlQueryThread implements Callable { private static ...
c++中线程传递函数为什么是
全局
或者
静态
函数
在计算机中,运行程序都是通过地址来运行,所以,我们必须告知计算机该线程的起始地址,也就是传入函数的地址,所以函数应为
全局
函数或者
静态
函数。 在c++中,传入线程的函数可能是类中的函数,如果类中的函数不加...
JAVA
多线程
之初探
List
线程安全的三种实现方式
初探
List
线程安全的三种实现方式 先演示一下
List
线程不安全的情况 package JUC.unsafe; import java.util.Array
List
; import java.util.
List
; import java.util.UUID; import java.util.concurrent....
类内
静态
函数和
全局
静态
函数的相同点和不同点
1)
全局
静态
函数只在本编译单元有效。 2)类
静态
函数,对比普通成员函数,没有this指针,不能访问非static成员。 3)要说二者相同点,都是c++名字控制的手段:
全局
静态
函数被局限在一个编译单元,通俗的将就是在...
java高并发时使用
全局
变量需要注意的
问题
开发中,
全局
变量的使用很频繁,但对于
多线程
的访问,使用
全局
变量需要注意的地方有很多,下面做了个大概的总结。
全局
变量的使用场合: 1:定义只读的
全局
变量时,必须加final修饰,防止被修改。哪怕是私有的,也得...
Android
80,351
社区成员
91,288
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章