В настоящее время я работаю над проектом, который предусматривает совместное использование relay_CAN. Мне нужно написать скрипт Python, чтобы заблокировать реле, как только оно будет использоваться другим устройством. реле должно быть заблокировано до тех пор, пока оно не будет разблокировано с другого терминала. Если я вызываю любое другое устройство, когда оно заблокировано, оно должно ждать, пока оно не будет разблокировано. Я пытался использовать, Lock (), Condition (), но ничего не похоже на работу. Есть ли отведения?
sem = threading.Semaphore()
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--connect",
help="""connects devices""",
dest="connect")
parser.add_argument("--disconnect",
help="""disconnects devices""",
dest="disconnect")
args, _ = parser.parse_known_args()
if args.connect:
if sem.acquire(False):
sem.acquire()
print "locking.."
try:
#todo
finally:
print"locked successefully"
else:
print "pins are locked"