[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了

[1000分]谁给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了
这300分是给顶帖子的人的. 谁给个可以用的我单独开帖子给分, 要可用分也可以...

无聊的管理内存啥的把人弄烦了,开始准备用libgc的, 后来看了看发现不是很适合嵌入式环境, 打算还是自己写个GC的库算了, 搞的也基本差不多了, 单线程的在 WIN32/WIN64/Linux/X64 Linux/ARM Linux/Android下测试都没有问题...

多线程的因为 WIN下有现成的 Suspend/ResumeThread, 跑起来也没有问题了, 就是在 Linux/Android 下遇到了点麻烦, 现在我往线程发 SIGUSR2, 在 signal handle 里 pthread_mutex_lock/pthread_cond_wait 等待resume的事件, 这个会有一定的概率(1/1000左右, 基本都出现在线程开始启动/结束的时候, 我在线程开始结束时加上sleep会大大降低出错的概率, 基本上 sleep 200ms 就基本不会出错了, 但这看起来不是个好办法)线程没有被挂起, 因为 mutex_lock/cond_wait/sem_wait 这些函数都不是 signal safe 的, 用 sem_wait 也偶尔会deadlock ..

看来要去libgc里慢慢抄了...



------解决方案--------------------
友情帮顶 字数.cpp
------解决方案--------------------
友情帮顶。
只用纯消息驱动来使用线程的人飘过。
------解决方案--------------------
绑顶,

表示也是被动接收消息,再开启对应的服务线程啦!
------解决方案--------------------
凑个热闹..
------解决方案--------------------
大眼瞪小眼。
------解决方案--------------------
[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了
------解决方案--------------------
[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了
------解决方案--------------------
[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了
------解决方案--------------------
貌似很厉害额
------解决方案--------------------
能懂楼主 讲 什么了。。。 不过还是经验不够,想不到用途
------解决方案--------------------
看来楼主还得自己找  睡觉[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了
------解决方案--------------------
引用:
Quote: 引用:

能懂楼主 讲 什么了。。。 不过还是经验不够,想不到用途


写了用途啊, 做GC啊, GC的时候必须让全世界都暂停, 这时候就会ANR.


引用:
看来楼主还得自己找  睡觉[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了

已经写好了, WIN32/WIN64/Linux/Linux X64/Android 下都跑了差不多一天多的单元测试, 应该没有问题了 ...



[1000分]哪位高手给个Linux下可用的 pthread_suspend/resume 来, 不想到libgc里慢慢去找了