ThreadStatic - уперся не пойму во что...
Нету там противоречия. Ибо написано:Вот для этих 2-3 десятков и делаются отдельные потоки.
Это может для тебя не видно. Но если зависимостей нет, то где тогда проблема?
Зависимости разруливаются другими методами.-----Ну предложи удобную систему
у меня есть смутное предположение, что для твоих запросов и имплементаций удобной системы не существует в принципе.
Если Б должен начинаться после А, то они либо должны быть в одном потоке либо Б не должен начинаться пока А не закончит свою работу.
Не сливай всё в один котел.-----???
Ты слишком много проблем пытаешься решить за один раз.
Бери только одну проблему и решай ее.
Если Б должен начинаться после А,
-----
В этой терминологии - Б должен начинаться в средине А, а по окончании - продолжаться А с места останова.
Обычный вызов подпрограммы.
не существует в принципе.
-----
Хммм... но ведь работает...
Бери только одну проблему и решай ее.
-----
Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:
1. Необходимо (или начато) выполнение суб-шаблона.
2. Выполнение суб-шаблона завершено.
Разумеется, в шаблоны ничего не добавляем...
Пока есть две идеи - сделать более сложный базовый класс или добавить треадстатик делегаты в поток...
Остальное - в процессе обдумывания.
В этой терминологии - Б должен начинаться в средине А, а по окончании - продолжаться А с места останова.
Давно писал, что имплементация шаблонов у тебя "придурочная". Хотя да, по другому низзя, помню.
Поток о состоянии шаблона нифига не знает. Творческих успехов в запуске А и Б в разных потоках
Хммм... но ведь работает...
Читаем внимательно что было написано. В цирке тоже многое чего работает.
Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:
так эту проблему вообще не нужно решать, она уже решена. Всего то добавить две линии.
protected override void DoWork(object sender, DoWorkEventArgs e) { _managerNotification.StartExecution(); ... //string text = t1.TransformText(); _managerNotification.StopExecution(); }
но тут же будут крики - да НО!
Это те которые гуляют сами по себе
-----
Это те, которыми рулят другие шаблоны, а не Менеджер.
и никому ничего не говорят?
-----
Ну а как они должны говорить? Сам же говоришь - помню, что там что билли сделал, то и работает... влезть - низзя...
Но в базовый класс - можно - решение там...
Это те, которыми рулят другие шаблоны, а не Менеджер.
опять по кругу... - в потоки можно закинуть шаблоны которые не имеют зависимостей или которые можно синхронизировать.
Поэтому кидаем в поток только "главный шаблон". В принципе именно он и может знать какие его детишки могут работать впаралель, но так как он никому об этом не говорит....
Ну или со сборщиком файлов можешь развлечься.
Поэтому кидаем в поток только "главный шаблон". В принципе именно он и может знать какие его детишки
-----
Я, в принципе, не знаю и, в принципе, не хочу знать ничего не нужного об шаблонах.
В частности, не хочу знать какие задачи и каким методом они решают.
Нужное - есть конструктор без параметров и есть метод ТехтТрансформ() - Я знаю.
Еще есть стек с параметрами. Это - все, что Я знаю об шаблонах. Другое - не нужно -
оно создает ненужную сложность в написании шаблонов.
Есть 20-30 "главных шаблонов" - с ними работает Менеджер - распределяет имеющиеся ресурсы
и отдает свободному работнику.
могут работать впаралель
-----
Да не надо им работать в паралель. В паралель идут 10 из 20-30 "главных шаблонов" -
этого вполне хватает.
В суб-шаблонах идет генерация "тел методов".
Мягко говоря, если определен шаблон для класса А, имплементирующего интерфейс Б с
методами Ц и Д, то стоит написать шаблоны ТА, ТЦ, ТД. При желании - добавить ТБ.
Смысла выполнять ТЦ и ТД где-то параллельно с ТА нет никакого.
Ну а ТА и ТБ - "главные шаблоны" - ими будет заниматься Менеджер.
То, что мне нужно сейчас, выглядит так: ТБ не является "главным шаблоном", а вызывается
их ТА. Тем не менее, то, что сгенерилось после его вызова должно лечь в отдельный файл.
Т.е. нужно сообщить Менеджеру - "записать результат в файл"...
И проблема именно в том, что нельзя влезть в код сгенерированный для шаблона...
То, что мне нужно сейчас, выглядит так
Если думаешь что прояснил ситуацию - то это далеко не так.
ТБ вызывается из ТА - значит никаких параметров от ТБ мы не знаем. Как можно записать в файл то что неизвестно?
Да не надо им работать в паралель. В паралель идут 10 из 20-30 "главных шаблонов"
вообще то с этого и следовало начать
значит никаких параметров от ТБ мы не знаем.
-----
Неа, не знаем... и слава богу что не знаем - они не мешают делать работу правильно.
Об нем мы знаем указанные вещи - конструктор без параметров и один метод - т.е. - знаем достаточно.
Как можно записать в файл то что неизвестно?
-----
А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.
Я думал об байт-аррай, но решил пока остаться в тексте. Поменять можно позднее, это не сложно...
вообще то с этого и следовало начать
-----
Так оно давно написано и несколько раз повторено. Наконец - еще и понято.
А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.
ладно, не будем узнавать как то, что ТА вызвал ТБ стало известно манагеру (и кто такой Рабочий). Но если стало известно, то в чем проблема записать енто в файл?
Так оно давно написано и несколько раз повторено
Странно, как то не заметил
Наконец - еще и понято.
Вот в этом вы батенька глубоко ошибаетесь.
Я уж давно не пытаюсь сложить общей картины из твоих задачек, потому как ни разу еще не получилось
Пользуем то чем кормят.
Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:
Сделать это и есть текущая задача...
что то часто меняются текущие задачи
А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.
В том то и дело, что еще не стало известно.
Так - или спать или запутывать