Python hotshot可以在多个线程中使用吗?

Python hotshot可以在多个线程中使用吗?,python,multithreading,profiling,profiler,profile,Python,Multithreading,Profiling,Profiler,Profile,我有一个长时间运行的多线程程序,我偶尔想用调用函数并将数据转储到文件中 状态:注意:hotshot分析器还不能很好地处理线程。如果可能的话,可以使用无线程脚本在您感兴趣的代码上运行探查器。 然而,我已经测试过让多个线程同时评测一个函数,并且没有遇到任何问题。在我的例子中,所分析的函数都是自包含的,在执行过程中不会产生任何额外的线程。我还要确保每个Profile对象都有自己的文件,这样它们就不会互相碰撞 因此,我的猜测是,关于多线程的警告意味着,如果正在分析的函数本身产生了额外的线程,我将遇到问题

我有一个长时间运行的多线程程序,我偶尔想用调用函数并将数据转储到文件中

状态:
注意:hotshot分析器还不能很好地处理线程。如果可能的话,可以使用无线程脚本在您感兴趣的代码上运行探查器。

然而,我已经测试过让多个线程同时评测一个函数,并且没有遇到任何问题。在我的例子中,所分析的函数都是自包含的,在执行过程中不会产生任何额外的线程。我还要确保每个
Profile
对象都有自己的文件,这样它们就不会互相碰撞

因此,我的猜测是,关于多线程的警告意味着,如果正在分析的函数本身产生了额外的线程,我将遇到问题。当我评测生成其他线程的测试函数时,不会评测生成的线程。然而,这似乎仍然没有引起任何问题,因为所分析的函数似乎工作得很好


有人能确认或反驳hotshot在多线程程序中运行是安全的吗?我不想部署以后可能崩溃的东西,即使它似乎通过了我的初始测试。

值得一提的是,我们在中有一个设置(使用多个线程)来启用hotshot评测,到目前为止,我在启用评测时从未遇到过问题

值得一提的是,我们在中有一个设置(使用多个线程)来启用hotshot评测,到目前为止,我从未遇到过启用评测时出现的问题

不幸的是,我无法确认——可能存在很少发生的争用情况(当hotshot同时在多个线程上运行时),但可能会导致错误答案(我认为它们不会导致崩溃,但我不是100%肯定)。只有仔细检查hotshot的源代码(以及可能战略性地插入一些锁获取/释放)才能让您放心,在您的用例中,这样的竞争条件永远不会发生。@Alex:谢谢您的输入。我想,除非我得到一个更明确的答案,否则我将确保在生产中关闭该选项。“还不能很好地工作”可能只是意味着在使用线程运行时它的准确性较低。你应该看看你是否能找到谁写的,看看他们是否能更好地告诉你这意味着什么。幸运的是,我不能确认——可能存在很少发生的竞争条件(当hotshot同时在多个线程上运行时),但可能会导致错误答案(我认为它们不会导致崩溃,但我不是100%肯定)当他们这样做的时候。只有仔细检查hotshot的源代码(以及可能战略性地插入一些锁获取/释放)才能让您放心,在您的用例中,这样的竞争条件永远不会发生。@Alex:谢谢您的输入。我想,除非我得到一个更明确的答案,否则我将确保在生产中关闭该选项。“还不能很好地工作”可能只是意味着在使用线程运行时它的准确性较低。你应该看看你是否能找到谁写的,看看他们是否能更好地告诉你这是什么意思