使用x = threading.Lock()

时间:2019-05-06 21:10:33

标签: python python-3.x

在阅读python中的线程和套接字时,我发现了一个基本上可以完成我想要的资源的资源。我做了一些修改以满足自己的需求,然后重新编写并运行它以确保我了解自己在做什么。

一个元素,但是我没有任何改变,这给了我一个语法错误。

根据标题,该行仅是:

global printlock = threading.Lock()

在一个文件中,它可以无缝运行,在我的版本中,它返回:

global print_lock=threading.Lock()
                     ^
SyntaxError: invalid syntax

我已经尝试过更改间隔,以防万一,但是看不出创建此锁定对象的问题的明显原因。有什么想法吗?

def establish_connection(s):
    while True:
        print("Waiting for connections...")
        connection, clientaddr = s.accept()
        log_connection(clientaddr)
        printlock.acquire()
        print("Connected to: " + str(clientaddr))
        start_new_thread(tfunction, (connection,))
    s.close()

它本质上是使用的,因此当人们连接时它不会崩溃,它会一次处理一个请求,但是由于创建了一个新文件,它只是在没有明显原因的情况下出现语法错误

1 个答案:

答案 0 :(得分:1)

您不能在global语句中分配变量,它仅用于声明变量。将其拆分为两个语句:

global printlock
printlock = threading.Lock()