递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4726|回复: 5
打印 上一主题 下一主题

[安卓] JSON不能在线程中执行

[复制链接]

40

主题

213

帖子

999

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
999
跳转到指定楼层
楼主
发表于 2022-4-4 00:00:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
写了一个客户端与服务端通讯,发现在客户端接受服务端 JSON数据,进行解析的时候会出问题,导致数据无法成功解析。调试一行一行执行的时候到JSON那里时,直接跳没了。。。看了注释发现 非线程 安全,在多线程 情况下,使用同步来控制 ,这个同步怎么用。。不理解。求解答。。







回复

使用道具 举报

149

主题

941

帖子

3976

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3976
QQ
沙发
发表于 2022-4-4 08:02:31 | 只看该作者
总之一句话,严谨型的数据类操作没事别瞎用多线程,说不定掉坑里
全国江浙沪音视频通讯、视频会议互动
回复

使用道具 举报

411

主题

2515

帖子

8292

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8292
板凳
发表于 2022-4-4 08:23:14 来自手机 | 只看该作者
可能json数据返回不完整解析失败。我记得鹅总封装的ws网络库,对于超大数据是无法完整返回的,也没有数据返回序号无法自行拼合。如果确认数据完整,可以试试我的水淼json类,线程种解析是没问题的,如果涉及全局数据的写操作加锁即可
回复

使用道具 举报

40

主题

213

帖子

999

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
999
地板
 楼主| 发表于 2022-4-4 09:00:07 | 只看该作者
感谢。我试下其它JSON,加锁也试下,安卓的,客户端中默认就是线程 形式的
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40535
5#
发表于 2022-4-4 12:54:11 | 只看该作者
解析失败也可能是  JSON取值 方法的bug。   

这个json解析在这个下面用是没问题的。。

可以直接在操作之前加个 线程读写锁类   就可以了。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

40

主题

213

帖子

999

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
999
6#
 楼主| 发表于 2022-4-4 20:13:49 | 只看该作者
创世魂 发表于 2022-4-4 12:54
解析失败也可能是  JSON取值 方法的bug。   

这个json解析在这个下面用是没问题的。。

感谢我测试一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 02:01 , Processed in 0.091765 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表