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

  #7  
Старый 15.09.2009, 14:53
Ardling
Новичок
Регистрация: 30.08.2009
Сообщений: 19
С нами: 8788294

Репутация: 7
По умолчанию

Цитата:
Сообщение от login999  
Ну кагбэ майн имха такова : первый минус - что грузишь файл в оперативку, тут можно обойтись итератором
Я думал об этом, но мне показалось сомнительным, что читать с диска по одной скажем несколько сотен строчек - просто насилие над диском. Тем более что сам я не юзаю пока списки по нескольку тысяч прокси. Возможно хорошим решением будет сливать с диска по сотне строк за раз.
Цитата:
Сообщение от login999  
<дальше не читать>
</дальше не читать>
У меня то что ты написал в теге CODE отображается с горизонтальной прокруткой почему-то. Читать невозможно!!!

Теперь буду долго пытаться понять что ты мне там написал, и возможно меня за мои труды ждет озарение.
Цитата:
Сообщение от login999  
Лучше сделай пару функций покрупнее, а не 10 одно-двухстрочных )
Я помнится у Кернигана и Ричи вычитал, что функции не должны быть длинными и использоваться везде, где требется повторять ког, или если это отражает структуру программы.

А вообще проще изменять функциональность отдельных функций (вот такой я поэт), а в будущем одни скорее всего потолстеют.
Цитата:
Сообщение от login999  
P.S. Кагбэ интересно, а он нормально работает ?
Попробуй прочекать в 10 потоков 100 прокси - чето мне подсказывает что вывод прокси будет только один раз, ибо не катит
Код:
printLock = threading.Lock()
лучше бы
Код:
printLock = threading.RLock()
Потом, при длительной работе/большом количестве потоков могут повылазить эксепшны, не айс использовать замок для вывода в консоль - с этим траблов не буит, а вот многопоточный вывод в файл может запросто убить его, лучше сделай отдельную функцию вывода в файл и юзай там глобальный замок, и вообще глобал не айс )
Тут как раз все хорошо, по крайней мере кроме записи на диск, хотя и с ней косяков не замечено. Поясняю зачем Lock на вывод - если несколько процов на компе (или ядер) то пара потогов вместе начинает выводить на экран, и вылезает белиберда. На однопроцессорной конфигурации таких проблем нет и лок излишен.

С выводом в файл проблем не замечено, подозреваю что with решает).

global - это ужасно, на C я бы за такое все бы поотрывал. Но в питоне области видимости - больная тема, и я не нашел более красивого решения. Не хочу мутить новый объект тк просто можно скрипт подключать как модуль и юзать функции. Оч удобно на мой взгляд.
 
Ответить с цитированием