2015-08-10 5 views
0

Я пытаюсь отключить свою программу. То, как я решил это, - это заставить основное приложение работать из памяти в своем потоке, в то время как другой поток считывает/записывает данные из базы данных.Python: глобальные переменные в потоках

У меня возникают проблемы с привязкой переменных перед назначением.

import threading 

class Data(): 
     global a 
     global b 
     a = 1 
     b = 1 



class A(threading.Thread): 
    def run(self): 
     while True: 
      a += 1 


class B(threading.Thread): 
    def run(self): 
     while True: 
      print a 
      print b 
      b -= 1 


a_thr = A() 
b_thr = B() 
a_thr.start() 
b_thr.start() 

ответ

1

Это не имеет ничего общего с темами. Установка

global variable 

не устанавливает эту переменную как глобальную всюду, но только в этой функции. Просто добавьте мои изменения в свой код, и он должен работать.

class A(threading.Thread): 

    def run(self): 
     global a 
     global b 
     while True: 
      a += 1 



class B(threading.Thread): 

    def run(self): 
     global a 
     global b 
     while True: 
      print a 
      print b 
      b -= 1 
+0

Имеет смысл. спасибо – Mantis

Смежные вопросы