setitimer + sigprof在64位达尔文上不起作用。
参考文献:
http://openradar.appspot.com/9336975
http://lists.apple.com/archives/Unix-porting/2007/Aug/msg00000.html
鉴于此,在达尔文上建立基于时间的采样分析器的推荐方法是什么?在多线程环境中。
答案 0 :(得分:0)
我最终创建了一个单独的探查器线程,该线程按间隔休眠,pthread_kills
所有其他线程都使用SIGPROF
。 SIGPROF
处理程序查看线程消耗的cpu时间,并且如果它太少则会进行ping操作。