Bug: unable to use threading.Lock()

The Python 3 environment does not seem to work properly. The following simple class results in an error on theZero Even Odd problem.

from threading import Lock, Event

class ZeroEvenOdd:
    def __init__(self, n):
        self.n = n
        self.zero = Lock()
        
	# printNumber(x) outputs "x", where x is an integer.
    def zero(self, printNumber: 'Callable[[int], None]') -> None:
        pass
        
    def even(self, printNumber: 'Callable[[int], None]') -> None:
        pass
        
    def odd(self, printNumber: 'Callable[[int], None]') -> None:
        pass

Error

TypeError: '_thread.lock' object is not callable
    result = self.fn(*self.args, **self.kwargs)
Line 57 in run (/usr/lib/python3.8/concurrent/futures/thread.py)
    raise self._exception
Line 388 in __get_result (/usr/lib/python3.8/concurrent/futures/_base.py)
    return self.__get_result()
Line 432 in result (/usr/lib/python3.8/concurrent/futures/_base.py)
    future.result()
Line 72 in _driver (Solution.py)
    _driver()
Line 83 in <module> (Solution.py)
Comments (2)