0
我有一个概念上的疑问。其他功能运行时是否执行回调?
如果我将一个类方法作为回调函数(传递给其他线程上运行的另一个程序),并且在某些其他类方法(而不是回调方法)中遇到了问题,例如while(True)
。
请问callback
有没有执行?
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()
只有当您的外部函数决定如此时,回调才会执行...我们需要一个[mcve]。 –
你的问题根本不清楚......在任何情况下,如果回调传递给其他线程,那么,是的,它可以在你的'balance'方法正在运行时执行......即使它们将在CPython中交织,因为GIL,但它们将同时执行。在其他python实现中,它们可能并行执行。 – Bakuriu
@Bakuriu这回答我的问题。谢谢。 – vvy