Многопоточность в 1С #167933


#0 by CyberGod
У какого какие идеи, как можно организовать многопоточность в 1С, т.е. чтобы 1 обработка выполнялась в несколько потоков. Может запускать несколько процессов 1С?
#1 by ДенисЧ
а зачем?
#2 by Волшебник
#3 by CyberGod
Для ускорения работы...это возможно?
#4 by Колумбарий
Можно запускать несколько экземпляров 1С, каждый выполняет свою обработку. когда выполнят, кладут результат в какое-то место (можно в ИБ) и взводят флаг. Потом управляющий экземляр собирает эти результаты 2 Никакого ускорения не будет. Вернее будет только в исключительных случаях. Простой пример - нужно запустить обработку, которая восстанвоить последовательность. Как ты предлагаешь распаралелить эту обработку?
#5 by Omega
//думает, что обычно узкое место не обработка данных, а их получение и от того, что несколько экземпляров 1с будут стучаться в одни и те же таблицы, вряд ли что ускорится. разве что урбд сделать. :) и на разных машинах, в разных базах запускать разные потоки.
#6 by Колумбарий
2 Ну допустим, что на сервере 2 проца, с гипертрейдингом - 4. Если база не скл, то по 1-му процессору на один экземпляр 1С. Почему бы и нет?
#7 by CyberGod
Нашёл обработку..называется Параллельные процессы...Не могу понять, как это работает
#8 by Рупор абсурда
#9 by Рупор абсурда
+ Посмотрите там
#10 by CyberGod
Как вы думаете, - полная фигня?
#11 by Рупор абсурда
Полная!
#12 by Колумбарий
+ Пузатая.
#13 by CyberGod
А эмулирует многопоточность красиво :)
#14 by ШтушаКутуша
в рамках одного экземляра прироста производительности не будет,ибо сама потоковая модель 1С 77 поддерживает овыполнение одного потока команд. Но в принципе можно наладить связь между несколькими экземплярами 1С, запущенными как службы COM+
#15 by Рупор абсурда
Она ее не эмулирует, а реально реализует ...
#16 by CyberGod
почему тогда фигня полная?
#17 by ШтушаКутуша
потому что "Single" при такой модели,пока не выполнятся команды одного потока,второй поток в очереди на исполнение
#18 by CyberGod
Почему? Она же содаёт 3 формы. каждая из которых работает самостоятельно...
#20 by Kraft
а ты уверен, что  7.7 поддерживает COM+?
#21 by ШтушаКутуша
сама по себе нет конечно,но это можно исправить в этом я уверен
#22 by Kraft
например?
#23 by ШтушаКутуша
Tv77Engine = class(TMtsAutoObject, IConnectionPointContainer, Iv77Engine), где Iv77Engine-"обертка" для v77.Application
#24 by Kraft
это на каком языке?
#25 by ШтушаКутуша
+23 и если сюда присовокопить (в первом приближении) технологию в то можно организовать весьма неплохую событийную модель,в частности для автообмена, между разными 1С БД
#26 by ШтушаКутуша
Object Pascal
#27 by ШтушаКутуша
+26 но это можно организовать и на java и тогда ваще все шикарно будет
#28 by MMF
дополнительные потоки в 1С сделать можно, вот только вызывать код 1С в них нельзя. Поэтому они годятся только для сторонних задач - слушать порты, проверять почту, и т.п.
#29 by CyberGod
Давайте сделаем выводы! 1. Многопоточность возможна в 1С? 2. Даёт ли это прирост в производительности
#30 by Колумбарий
2 2. Смотря что производить...
#31 by CyberGod
обработку...именно, чтобы обработка работала в несколько потоков!
#32 by MMF
1) да 2) гм, смотря для чего потоки использовать, ускорить выполнение запросов/обработок 1С - нельзя. Код 1С - не является потокобезопасным, поэтому положите на эту идею здоровенный ...
#33 by ШтушаКутуша
а стоит ли овчинка выделки? а учитывая ответ в то и ваще очень сложно,в принципе можно самому диспетчиризировать,но это повлечет за собой много-много-много всяческих "гитик"
#34 by syktyk
А где-то на проклабе лежала технология запуска 1с по СОМ, даже вроде на другом компе.
#35 by Sadovnikov
Миш, почему нельзя? Можно. Вот только через одно место.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С