На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > Потоки. Питон.
      Куча ошибок вида:
      ExpandedWrap disabled
        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)


      Код:
      ExpandedWrap disabled
        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()


      Как пофиксить? :huh:
        Возможно надо написать
        ExpandedWrap disabled
          value = Counter().inc(1)

        или
        ExpandedWrap disabled
          value = сounter.inc(1)


        И вообще в функции в классе счетчика должно быть возвращено:
        ExpandedWrap disabled
          return self.value
          nikolas спс, уже подсказали =)
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0723 ]   [ 15 queries used ]   [ Generated: 26.04.24, 04:07 GMT ]