Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python元类中的线程安全';调用、新方法和初始化方法_Python_Multithreading_Thread Safety - Fatal编程技术网

python元类中的线程安全';调用、新方法和初始化方法

python元类中的线程安全';调用、新方法和初始化方法,python,multithreading,thread-safety,Python,Multithreading,Thread Safety,据我所知,python元类的\uuuuu new\uuuu和\uuuuu init\uuuuu方法在创建声明该元类的类的类对象时被调用。因此,对于每个不同的类(FQN),这些方法只调用一次。这种理解正确吗 这些调用\uuuu new\uuuu和\uuuu init\uuuu是线程安全的吗?是因为解释器中的GIL或其他机制确保只有一个线程可以调用元类的\uuuu new\uuuu和/或\uuuuu init\uuuu方法(对于同一类对象或FQN?) 我对python有点陌生,我对python在引擎

据我所知,python元类的
\uuuuu new\uuuu
\uuuuu init\uuuuu
方法在创建声明该元类的类的类对象时被调用。因此,对于每个不同的类(FQN),这些方法只调用一次。这种理解正确吗

这些调用
\uuuu new\uuuu
\uuuu init\uuuu
是线程安全的吗?是因为解释器中的GIL或其他机制确保只有一个线程可以调用元类的
\uuuu new\uuuu
和/或
\uuuuu init\uuuu
方法(对于同一类对象或FQN?)

我对python有点陌生,我对python在引擎盖下的魔力的理解是相当有限的——尽管如此——对于每个完全限定的类名,我认为内存中应该只有一个类对象。那么,当在多线程场景中的类对象创建过程中调用元类时,python如何保证这一点呢