Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.107.96] |
|
Сообщ.
#1
,
|
|
|
Куча ошибок вида:
Exception in thread Thread-9: Traceback (most recent call last): File "C:\Devel\Python24\lib\threading.py", line 442, in __bootstrap self.run() File "C:\!python\threeds.py", line 22, in run value = Counter.inc(1) TypeError: unbound method inc() must be called with Counter instance as first argument (got int inst ance instead) Код: import threading import time import random class Counter: def __init__(self): self.lock = threading.Lock() self.value = 0 def inc(self, val): self.lock.acquire() self.value+=val self.lock.release() return value counter = Counter() class Worker(threading.Thread): def run(self): for i in range(10): value = Counter.inc(1) time.sleep(random.randint(10, 100) / 1000.0) print self.getName(), "--task", i, "finished", value for i in range(10): Worker().start() Как пофиксить? |
Сообщ.
#2
,
|
|
|
Возможно надо написать
value = Counter().inc(1) или value = сounter.inc(1) И вообще в функции в классе счетчика должно быть возвращено: return self.value |
Сообщ.
#3
,
|
|
|
nikolas спс, уже подсказали =)
|