递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[视窗] 互斥锁概率导致程序崩溃

[复制链接]

1

主题

4

帖子

23

积分

新手上路

Rank: 1

积分
23
跳转到指定楼层
楼主
发表于 2024-12-10 15:18:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

回复

使用道具 举报

27

主题

1963

帖子

7144

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7144
沙发
发表于 2024-12-10 15:59:05 | 只看该作者
你自己代码的问题,加锁后必须有解锁,肯定是某处漏写了
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
41036
板凳
发表于 2024-12-10 20:00:33 | 只看该作者
这肯定是自己代码的问题导致的。。得自己排查了。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

30

主题

311

帖子

2668

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2668
地板
发表于 2024-12-10 20:08:21 来自手机 | 只看该作者
我是感觉会有几率锁死
回复

使用道具 举报

27

主题

1963

帖子

7144

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7144
5#
发表于 2024-12-10 21:10:22 | 只看该作者
cxz7411 发表于 2024-12-10 20:08
我是感觉会有几率锁死

主要就两种原因,一种就是加了锁没有对应的解锁,纯代码的逻辑错误。
另一种就是用了暂停、结束线程等API,导致了死锁,微软也强烈不建议使用这些不安全的API。
回复

使用道具 举报

1

主题

4

帖子

23

积分

新手上路

Rank: 1

积分
23
6#
 楼主| 发表于 2024-12-10 23:24:48 | 只看该作者
Xelloss0618 发表于 2024-12-10 21:10
主要就两种原因,一种就是加了锁没有对应的解锁,纯代码的逻辑错误。
另一种就是用了暂停、结束线程等API ...

就是bug,同样代码,把加锁解锁换成临界 就不崩了
回复

使用道具 举报

27

主题

1963

帖子

7144

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7144
7#
发表于 2024-12-10 23:53:27 | 只看该作者
yuntong2820 发表于 2024-12-10 23:24
就是bug,同样代码,把加锁解锁换成临界 就不崩了

应该是你的写法有问题,火山的「互斥锁类」也是临界区这个API,底层代码是基本一样的。这么多人用都没事。
回复

使用道具 举报

43

主题

320

帖子

3612

积分

论坛元老

Rank: 8Rank: 8

积分
3612
8#
发表于 2024-12-11 22:47:20 | 只看该作者
你搞个例子出来研究研究啊
回复

使用道具 举报

1

主题

4

帖子

23

积分

新手上路

Rank: 1

积分
23
9#
 楼主| 发表于 2024-12-12 09:37:28 | 只看该作者
Xelloss0618 发表于 2024-12-10 23:53
应该是你的写法有问题,火山的「互斥锁类」也是临界区这个API,底层代码是基本一样的。这么多人用都没事。 ...

反正是加锁解锁 一段时间就崩,直接声明临界api调用就正常
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 06:05 , Processed in 0.100276 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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