如何获取 互斥对象 当前的id

scsnsjsl_cs_dn 2009-06-06 06:14:24
如何获取 互斥对象 当前的id
...全文
41 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
但是始终不知道是什么原因导致的
每次使用时候,都释放了的
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 steedhorse 的回复:]
。。。
两个线程还查什么,肯定是它俩死锁了。

你刚才说“不过现在情况是 死锁不一定会发生”,这就是多线程程序的麻烦,所以还是应该以预防为主,另外在设计上下功夫。否则,问题一旦出现,查都很难查,因为它不一定能很容易地重现。
[/Quote]
对头
怎么这么糊涂
晨星 2009-06-06
  • 打赏
  • 举报
回复
。。。
两个线程还查什么,肯定是它俩死锁了。

你刚才说“不过现在情况是 死锁不一定会发生”,这就是多线程程序的麻烦,所以还是应该以预防为主,另外在设计上下功夫。否则,问题一旦出现,查都很难查,因为它不一定能很容易地重现。
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 steedhorse 的回复:]
也可以通过log来观察。
让每个线程都输出一些log,在log中包含本线程的ID,因为死锁的两个线程肯定再也不能输出log,有时很容易通过观察log确定出是哪两个线程死锁了。
[/Quote]
不过,现在就一个主线程和一个创建的线程,所以...
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 steedhorse 的回复:]
也可以通过log来观察。
让每个线程都输出一些log,在log中包含本线程的ID,因为死锁的两个线程肯定再也不能输出log,有时很容易通过观察log确定出是哪两个线程死锁了。
[/Quote]
谢谢,刚才发了个帖子
有位朋友给了类似的建议
不过刚才脑子犯晕,理解错了,嘿嘿
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 steedhorse 的回复:]
个人感觉死锁应以预访为主。
真要出现了,大多数情况只能是结合着问题的症状去读代码了。

另外还有一条建议是:在设计上多下些功夫,尽量减少线程间需要同步的东西。
[/Quote]
谢谢,我试着去看下

不过现在情况是 死锁不一定会发生
到现在都还没找出什么情况下会发生,感觉是随机发生的
晨星 2009-06-06
  • 打赏
  • 举报
回复
也可以通过log来观察。
让每个线程都输出一些log,在log中包含本线程的ID,因为死锁的两个线程肯定再也不能输出log,有时很容易通过观察log确定出是哪两个线程死锁了。
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 steedhorse 的回复:]
楼主你想去读取互斥对象内部实现的内容?这样你可能需要考虑用另一个互斥对象来互斥对原来那个互斥对象的访问。嘿嘿。
[/Quote]
我通过互斥对象实现线程同步
但有时会出现死锁,调试的时候又不会重现,
所以有了上边的问题
晨星 2009-06-06
  • 打赏
  • 举报
回复
个人感觉死锁应以预访为主。
真要出现了,大多数情况只能是结合着问题的症状去读代码了。

另外还有一条建议是:在设计上多下些功夫,尽量减少线程间需要同步的东西。
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
那一般出现死琐的时候如何,调试?
晨星 2009-06-06
  • 打赏
  • 举报
回复
楼主你想去读取互斥对象内部实现的内容?这样你可能需要考虑用另一个互斥对象来互斥对原来那个互斥对象的访问。嘿嘿。
wocow3 2009-06-06
  • 打赏
  • 举报
回复
线程ID在主调线程用GetCurrentProcessId就行了
要想从互斥对象中获取占用线程的id,恐怕没这样的接口吧
scsnsjsl_cs_dn 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wocow3 的回复:]
Mutex哪儿来的什么ID,啥意思
[/Quote]
互斥对象不是包含一个使用数量\一个线程ID\一个计数器吗?

线程ID用语标识当前哪个线程拥有互斥对象
wocow3 2009-06-06
  • 打赏
  • 举报
回复
Mutex哪儿来的什么ID,啥意思

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧