有没有人在linux下的C pthread中成功地使用了一些最新的perl_construct/perl_parse/perl_run例程?(solaris?freebsd?)
我知道perl应该用-Dusethreads -Duseithreads编译(我读过perlembed文档),但不管它是什么,它在不同的操作系统下仍然会带来各种各样的问题--主要是各种perl例程中的段错误,比如Perl_mg_magical(),当在C线程中使用时……有没有一些开源程序成功地使用了这种组合(perlembed+pthreads)?
WM
发布于 2012-01-25 23:48:40
是。使用线程化perls的B::C perl编译器会创建这样的程序,并具有测试套件,但没有显式的线程压力测试。您可以使用线程运行核心压力测试,这在普通perl下也可能工作,也可能失败。
当linux通过时,它通常对你的分析没有帮助,只有当freebsd、win32或solaris通过时,你才能获得一定的正确性。如果libc是线程保存的,并且perl使用它们,那么它也会有所帮助。
注意不要对线程使用usemymalloc。
试试google thread-sanitizer,它速度很慢,但能找到很多与线程相关的bug、竞态、死锁。
https://stackoverflow.com/questions/9002371
复制相似问题