Discuss / Python / 请问廖老师,获取了锁然后又释放,就会报错,但是还是会输出0,怎么回事

请问廖老师,获取了锁然后又释放,就会报错,但是还是会输出0,怎么回事

Topic source

python版本:3.9.6 64 bit

os版本:windows10 1909 (os内部版本:18363.1556)

输出内容:

Exception in thread Exception in thread Thread-2:
Thread-1:
Traceback (most recent call last):
Traceback (most recent call last):
  File "C:\Users\ywt\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner
  File "C:\Users\ywt\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "C:\Users\ywt\AppData\Local\Programs\Python\Python39\lib\threading.py", line 910, in run
    self.run()
    self._target(*self._args, **self._kwargs)
  File "c:\Users\ywt\python\5.py", line 18, in run_many_times
    self._target(*self._args, **self._kwargs)
  File "c:\Users\ywt\python\5.py", line 18, in run_many_times
    lock.acquire()
AttributeError: 'builtin_function_or_method' object has no attribute 'acquire'
    lock.acquire()
AttributeError: 'builtin_function_or_method' object has no attribute 'acquire'
0

然后我又把所有关于t2的内容给注释掉了,输出变成了这样子:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\ywt\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "C:\Users\ywt\AppData\Local\Programs\Python\Python39\lib\threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "c:\Users\ywt\python\5.py", line 18, in run_many_times
    lock.acquire()
AttributeError: 'builtin_function_or_method' object has no attribute 'acquire'
0

请问这是怎么回事啊?

哦,懂了,threading.Lock忘了加括号,不好意思,大家忽略即可。


  • 1

Reply