Python中的信号量锁定机制

2024-06-09 19:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在从事一个项目,该项目涉及到继电器的共享。我必须编写一个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"

Tags: 项目addparserifconnecthelpargsargument