В чем разница между многопотоком и запуском множества дублей

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Добрый день!
Назрел вопрос, в чем разница между запуском проекта в большое количество потоков и запуском множества копий проекта в один поток? И при запуске в большое кол-во потоков можно вывести окно каждой копии проекта для отображения, в многопоточном режиме я так понимаю можно отобразить только одно окно выполнения?
 

daymos

Client
Регистрация
11.11.2009
Сообщения
806
Благодарностей
240
Баллы
43
думаю технически никакой. Только в многопотоке показывает все инстансы сразу, а в дублях можно показывать по-отдельно на каждый дубль.
 

Germeso

Пользователь
Регистрация
06.01.2016
Сообщения
39
Благодарностей
4
Баллы
8
Разница в потребляемых ресурсах. Это зависит от того что у вас Настройках стоит где кол-во потоков на процесс. Запустить один проект в 50 потоков намного экономичнее, чем 50 проектов в 1 поток.
 

daymos

Client
Регистрация
11.11.2009
Сообщения
806
Благодарностей
240
Баллы
43
Разница в потребляемых ресурсах. Это зависит от того что у вас Настройках стоит где кол-во потоков на процесс. Запустить один проект в 50 потоков намного экономичнее, чем 50 проектов в 1 поток.
они же работают в одной базе. Почему так?
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
работа с файлами и в том и в ином варианте будет правильно вестись? не будут ли как то путаться переменные? почему то ошибки пошли когда запустил несколько копий проекта.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Разница в потребляемых ресурсах. Это зависит от того что у вас Настройках стоит где кол-во потоков на процесс. Запустить один проект в 50 потоков намного экономичнее, чем 50 проектов в 1 поток.
Немного неточно. Это зависит от того как работают эти однопоточные проекты. Если там нет галки в свойствах проекта "Запускать в выделенном процессе", то по ресурсам получится все то же самое.

работа с файлами и в том и в ином варианте будет правильно вестись? не будут ли как то путаться переменные? почему то ошибки пошли когда запустил несколько копий проекта.
А как с файлами работаете? Какими экшенами? Что за ошибки?
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Два файла, первый - список каталогов, второй - номер каталога по которому начнется работа проекта, соответственно каждая копия проекта при получении номера начального каталога увеличивает его на 1 и сохраняет файл и т.д делает каждая копия проекта. Поэтому важно чтоб при обращении сразу 2х и более копий к файлу одновременно они не начали работу над одним и тем же каталогом, т.е не подхватили один и тот же номер начального каталога не успев увеличить его значение.

Ошибку я заметил один раз в вычислениях, такое чувство было что подсчеты были сделаны по данным какой то из копий запущенных проектов. Поэтому появился вопрос, если я например запускаю 10 копий проекта из одной и той же папки то не будут ли они смешивать как то переменные из соседних копий?
 

averin

Client
Регистрация
15.02.2016
Сообщения
26
Благодарностей
2
Баллы
8
А не проще брать записи из каталога с удалением строки и записью ее в конец? Зачем мудрить еще с доп. файлами?
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
А не проще брать записи из каталога с удалением строки и записью ее в конец? Зачем мудрить еще с доп. файлами?
а как тогда каждый новый поток или дубль будет понимать что предыдущий поток уже отработал данный каталог и ему надо переходить к следующему?
 

averin

Client
Регистрация
15.02.2016
Сообщения
26
Благодарностей
2
Баллы
8
строки то уже не будет которую нужно обрабатывать (вернее она будет внизу файла) и другой поток возьмет следующую строку
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Строки не удаляются. А как она вниз должна попасть? это можно только перезаписью отработанной строки в конец файла делать, мне так не очень годится поэтому у меня каждый поток просто забирает номер с которого он начнет, после забора увеличивает этот номер на 1 и записывает обратно в файл для следующего инстанса.
 

averin

Client
Регистрация
15.02.2016
Сообщения
26
Благодарностей
2
Баллы
8
Возможно из за этого ошибки и вонзикают, т.к. между взятием строки из одного файла и записью в другой есть время...
Если не хотите изменять исходный файл копируйте его при старте и работайте с ним
 

daymos

Client
Регистрация
11.11.2009
Сообщения
806
Благодарностей
240
Баллы
43
когда списки и таблицы привязаны в шаблоне - они висят в оперативке, а изменения переодически бакапятся в файл.
т.е. когда мы берем строку из списка с удалением в одном шаблоне - все другие шаблоны видят это изменение и не могут взять эту же строку, потому что изменения происходят в "уме" зеннопостера, не влияя на файлы тут и сейчас.
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
Возможно из за этого ошибки и вонзикают, т.к. между взятием строки из одного файла и записью в другой есть время...
Если не хотите изменять исходный файл копируйте его при старте и работайте с ним
Если делать через кубики то зенка сама блокирует другим потокам доступ на время записи и рассинхронизации не должно быть, а если через C# то надо блокировать руками.
 

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