Этот код Python с urllib2 с cookie-потоком безопасен? - PullRequest
2 голосов
/ 01 декабря 2010

Я пытаюсь запустить несколько потоков с urllib2 w / cookies. У меня есть функция, подобная приведенной ниже, которая запускается примерно в 5 потоках одновременно. Я не устанавливаю открывалку, просто работающую в каждом потоке.

def myfunction(inputvar):
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

Этот поток безопасен? если это не так, потому что сами модули Python должны быть поточно-ориентированными независимо от области видимости?

1 Ответ

2 голосов
/ 27 апреля 2011

Это должно быть поточно-ориентированным. Если вы посмотрите на исходный код urllib2.py, то ни функция _build_opener_, ни HTTPCookieProcessor () не используют никакого глобального состояния. Функция _build_opener_ возвращает новый OpenerDirector объект, который также является автономным. Таким образом, каждый поток будет иметь свой собственный набор объектов, которые не будут мешать друг другу.

...