- 主题:经典死锁
【 在 z16166 的大作中提到: 】
: .dll/.so里不能有野线程。试想一下dll被unload后,那个野线程还在跑的话。
:
https://www.newsmth.net/nForum/#!article/CPlusPlus/431596
这里边说了关于动态模块的管理。
--
FROM 221.218.60.*
人家意思是,不是正常程序员
【 在 z16166 的大作中提到: 】
: 你的意思是这么用的不是人吗?哈哈
: --
: 每天半小时节奏光剑,预防老年痴呆
发自「今日水木 on iOS」
--
FROM 114.253.103.*
这种容易看出来,问题不大
【 在 z16166 的大作中提到: 】
: 除了这种交叉加锁,
: void Foo()
: {
: ...................
--
FROM 111.222.57.*
设计的问题,锁的颗粒度太大了。
【 在 z16166 的大作中提到: 】
: 除了这种交叉加锁,
: void Foo()
: {
: ...................
--
FROM 120.244.194.*
我觉得也是,很多设计上可以避免持锁操作。
【 在 JetLan 的大作中提到: 】
: 设计的问题,锁的颗粒度太大了。
:
--
FROM 202.85.208.*
这都是初级死锁,肉眼都可见的,疑难杂症得打一堆log,不过大部分情况来说比crash甚至编译错误还是好解决多了
--
FROM 219.142.253.*
的确是可以弄把小锁,专门锁这个线程句柄。线程自己不要操作自己的句柄,也就不会去请求这个小锁
【 在 JetLan 的大作中提到: 】
: 设计的问题,锁的颗粒度太大了。
:
--
FROM 114.241.228.*
场景是dll中按需启、停某些单例的功能,这些单例中有开线程。
【 在 brucewww 的大作中提到: 】
: 我觉得也是,很多设计上可以避免持锁操作。
:
--
FROM 114.241.228.*
怎么这么多lock guard
【 在 z16166 的大作中提到: 】
: 除了这种交叉加锁,
: void Foo()
: {
: ...................
--
FROM 221.222.20.*
不要在单例中调用线程,而是在线程中调用单例。
【 在 z16166 的大作中提到: 】
: 场景是dll中按需启、停某些单例的功能,这些单例中有开线程。
:
--
FROM 221.218.60.*