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