Python 当其他函数运行时是否执行回调?
我有一个概念上的疑问 如果我将一个类方法作为回调函数传递给另一个在另一个线程上运行的程序,我会被另一个类方法而不是回调方法(例如whileTrue)击中。 回调是否会执行Python 当其他函数运行时是否执行回调?,python,class,callback,Python,Class,Callback,我有一个概念上的疑问 如果我将一个类方法作为回调函数传递给另一个在另一个线程上运行的程序,我会被另一个类方法而不是回调方法(例如whileTrue)击中。 回调是否会执行 不是我的答案,而是@Bakuriu的答案,这是正确的: 如果回调被传递到另一个线程,那么它可以在balance方法运行时执行。。。尽管由于GIL,它们将在CPython中交错,但它们将同时执行。在其他Python实现中,它们可能并行执行。只有当外部函数决定这样做时,回调才会执行。。。我们需要一个答案。你的问题一点也不清楚。。。
不是我的答案,而是@Bakuriu的答案,这是正确的:
如果回调被传递到另一个线程,那么它可以在balance方法运行时执行。。。尽管由于GIL,它们将在CPython中交错,但它们将同时执行。在其他Python实现中,它们可能并行执行。只有当外部函数决定这样做时,回调才会执行。。。我们需要一个答案。你的问题一点也不清楚。。。在任何情况下,如果回调被传递到另一个线程,那么它可以在您的balance方法运行时执行。。。尽管由于GIL,它们将在CPython中交错,但它们将同时执行。在其他python实现中,它们可能并行执行。@Bakuriu回答了我的问题。谢谢
class Bicycle(object):
__init__(self, name):
self.name = name
self.f = 0
def callback(self, push_force):
#Go ahead
self.f = push_force
def balance(self):
while True:
# Balance the Bicycle
def main():
B1 = Bicycle("Red")
external(callback=B1.callback)
while True:
B1.balance()