Показать сообщение отдельно

  #4  
Старый 22.05.2009, 17:55
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от presidentua  
PHP код:
def Counter(Count=[0,]):
     
Count.append(Count[0]+1)
     
del Count[0]
     return 
Count[0
А если так, тоесть глобальная переменная конечно есть, но одна в одном месте ):
PHP код:
0
def add
():
    global 
a
    a
+=1
    
return a

print add()
print 
add() 
Незачет - а теперь представь, что у меня 20 функций, которым нужно получение счетчика, причем все это чудо многопоточное и пиздючит ну допустим в 50 потоков... в эту функцию например не нужно даже локов встраивать, так как операция атомарная и при работе с threading проблем быть не должно (по крайней мере так написано), но я считаю некошерным то что для хранения одного-единственного числа приходится создавать список и потом с ним так извращаться
То что я написал является паттерном типа - мну создает заготовки на все случаи жизни
Использование же global :
1. Некошерно
2. Как пишут возможны проблемы как раз при многопоточности
 
Ответить с цитированием