Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 30, 2016 11:36:20

ivanzzz
Зарегистрирован: 2016-02-08
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточная работа с множеством

Есть файл в котором хранятся промежутки id построчно, для каждого промежутка получаю множество значений и обрабатываю в потоках. Скажите когда передаю параметры в поток “TH = threading.Thread(target=thread_body,args = (id_set,))” происходит ли передача по ссылке на id_set?

with open(ids,'r') as file:
        id = module_id.ID()
        for line in file:
            id_set = id.get_ip_set(line)
            for i in xrange(THREAD):
                TH = threading.Thread(target=thread_body,args=(id_set,))
                TH.daemon = True
                owners.append(TH)
                TH.start()
            for TH in owners:
                TH.join()
def thread_body(id_set):
    while len(id_set):
        print id_set.pop()
    pass

Офлайн

#2 Апрель 30, 2016 12:59:23

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Многопоточная работа с множеством

Ответить нельзя. По вашему коду непонятно что такое id_set. :) В питоне все кроме примитивов передается по ссылке поскольку вы предполагаете что у него есть методы, и скорее всего это set то передача идет по ссылке.



Отредактировано doza_and (Апрель 30, 2016 13:00:56)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version