Потоки

  • Автор темы Автор темы Art4D
  • Дата начала Дата начала

Art4D

Client
Регистрация
22.08.2014
Сообщения
276
Реакции
48
Баллы
28
Где можно почитать как работают потоки? В вики ничего нет об этом.
Потоки работают как копии скриптов или как-то по другому?
Вот например у меня скрипт берет в начале список данных со страницы, далее пару циклов, которые можно было бы выполнять многопоточно, работают с списком взятым вначале. Тупо запустить неск копий скрипта одновременно нельзя, т.к. список(который берется в начале) будет меняться.
 
можно сначала сохранить список в файл, а потом уже много многопоточно работать с ним
 
кем и чем меняться?
Вкратце шаблон:
парсим данные в список(напр. неск. строк: 1, 2, 3, 4)
пара циклов которые выполняют действия.
_________
все работает в 1 поток, если после циклов спарсить еще раз список, то он будет другой, напр: 1, 2, 3, а мне нужно чтобы работало с старым у которого 4 строки. В общем я не понимаю как именно работают потоки, как копии скрипта или что?
 
потоки не зависят друг от друга, пока вы не будете преследовать логику обратного
 
потоки не зависят друг от друга, пока вы не будете преследовать логику обратного
т.е. потоки это точные копии шаблонов? что значит "не будете преследовать логику обратного"?
По шабону:
1. Парсим в список ссылки (Через какое-то время ссылки на сайте меняются, поэтому при многопотоке, ссылки должны браться из первоначального списка)
2. Переход на ссылку с действиями
3. Берем из списка следующую ссылку и снова пункт 2, пока список не кончится.
Делаем 5 потоков и:
1. Шаблон в 5 потоков будет переходить по ссылкам из списка. (т.е. будет работать только с 2 и 3 пунктом, а 1 пункт выполнится 1 раз.
2. Каждый поток будет выполнять три пункта.
Какой вариант верный?
 
проверяй в начале - если есть ссылки в списке, то делать 2 и 3 пункт
если ссылок нет - запускаем первый пункт
 
проверяй в начале - если есть ссылки в списке, то делать 2 и 3 пункт
если ссылок нет - запускаем первый пункт
Это сделано, я не пойму как потоки работают, как 1 вариант или как второй?
 
каждый поток - отдельное выполнение шаблона. как шаблон у вас выполняется в 1 поток, также будет выполнятся и в 5 потоков, логика не меняется, главное не допустить конфликта, чтобы разные потоки не делали одну и ту же операцию
например, если список "будет меняться" - значит все строки удаляем из списка после взятия, чтобы 2 разных потока не брали одну и ту же строку.
 
  • Оценить
Реакции: Art4D и rostonix
Почему количество потоков падает с 5 до 1?У меня шаблон в цикле берёт данные, заполняет форму и отправляет её и так по новой, записей больше 10 000..Я поставил 5 потоков. но в ответ только 1 поток..Ввёл в "Сколько делать" цифру "5", начало работать в 5 потоков, но по ходу работы сново всё упало до 1...что ж я не так делаю?? 09-09-14 1-43-37.jpg
 
p.s обнаружилось что в логе пишет "Не найден HTML элемент", и соответственно потоки и спадают :(
 
У вас сколько делать стоит "1"
логично что потоки не увеличиваются если вы ограничили количество выполнений единицей)
 
в догонку:
1 задание = 1 поток, при указании максимум потоков в настройках задания = "1" ?
т.е. если я хочу запустить 2 задания одновременно (или последующее когда предыдущее еще выполняется) с параметром максимума = "1" - это равно двум потокам?
 
Если вы ставите максимум потоков 1, то 2 у вас никак не поднимется
 
я понимаю, имеется ввиду что я же могу создать 10 заданий по 1 поток в каждом и запустить их все одновременно, это будет считаться 10ю потоками?
или я чото нетак понимаю?)
 
так можно, конечно
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)