我有4个功能:
我想按顺序运行这些函数(顺序无关紧要)而不是一起运行,我需要这些函数等待其中一个函数完成任务,然后另一个函数开始执行。
每个函数返回一个不同的值,然后将其存储在变量中,稍后用于进一步的数据处理。这如何在Python中完成?我是 python 的新手。
除非使用条件语句另有说明,否则编程语言从顶部执行。您想要在这里实现的目标就是您安排的方式。
执行第一个,然后执行第二个,依此类推。
我猜你的代码来自leetcode,有一个关于3个函数的问题,这是我的解决方案:
from threading import Lock
class Foo:
def __init__(self):
self.lock_first = Lock()
self.lock_first.acquire()
self.lock_second = Lock()
self.lock_second.acquire()
def first(self, printFirst: 'Callable[[], None]') -> None:
# self.lock_first.acquire()
# printFirst() outputs "first". Do not change or remove this line.
printFirst()
self.lock_first.release()
def second(self, printSecond: 'Callable[[], None]') -> None:
# self.lock_second.acquire()
while self.lock_first.locked():
continue
# printSecond() outputs "second". Do not change or remove this line.
printSecond()
self.lock_second.release()
def third(self, printThird: 'Callable[[], None]') -> None:
while self.lock_first.locked() or self.lock_second.locked():
continue
# printThird() outputs "third". Do not change or remove this line.
printThird()
您还可以在此处查看非常相似的解决方案(如果您已注册): https://leetcode.com/problems/print-in-order/editorial/