Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​ThreadStatic - уперся не пойму во что...

226  1 2 все
AlexNek патриот07.10.17 18:36
AlexNek
NEW 07.10.17 18:36 
в ответ Murr_0002 07.10.17 17:49
Нету там противоречия. Ибо написано:Вот для этих 2-3 десятков и делаются отдельные потоки.

Это может для тебя не видно. Но если зависимостей нет, то где тогда проблема?


Зависимости разруливаются другими методами.-----Ну предложи удобную систему

у меня есть смутное предположение, что для твоих запросов и имплементаций удобной системы не существует в принципе.

Если Б должен начинаться после А, то они либо должны быть в одном потоке либо Б не должен начинаться пока А не закончит свою работу.


Не сливай всё в один котел.-----???

Ты слишком много проблем пытаешься решить за один раз.

Бери только одну проблему и решай ее.

#21 
Murr_0002 знакомое лицо07.10.17 23:57
Murr_0002
NEW 07.10.17 23:57 
в ответ AlexNek 07.10.17 18:36

Если Б должен начинаться после А,

-----

В этой терминологии - Б должен начинаться в средине А, а по окончании - продолжаться А с места останова.

Обычный вызов подпрограммы.


не существует в принципе.

-----

Хммм... но ведь работает...


Бери только одну проблему и решай ее.

-----

Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:

1. Необходимо (или начато) выполнение суб-шаблона.

2. Выполнение суб-шаблона завершено.

Разумеется, в шаблоны ничего не добавляем...

Пока есть две идеи - сделать более сложный базовый класс или добавить треадстатик делегаты в поток...

Остальное - в процессе обдумывания.

#22 
Murr_0002 знакомое лицо07.10.17 23:59
Murr_0002
NEW 07.10.17 23:59 
в ответ AlexNek 07.10.17 18:36

где тогда проблема?

-----

Я пропустил статик в определении поля. Выше уже описано - копи-пасте, добавление атрибута и пропуск статика.

#23 
AlexNek патриот08.10.17 00:22
AlexNek
08.10.17 00:22 
в ответ Murr_0002 07.10.17 23:57
В этой терминологии - Б должен начинаться в средине А, а по окончании - продолжаться А с места останова.

Давно писал, что имплементация шаблонов у тебя "придурочная". Хотя да, по другому низзя, помню.

Поток о состоянии шаблона нифига не знает. Творческих успехов в запуске А и Б в разных потоках бебе


Хммм... но ведь работает...

Читаем внимательно что было написано. В цирке тоже многое чего работает.


Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:

так эту проблему вообще не нужно решать, она уже решена. Всего то добавить две линии.


protected override void DoWork(object sender, DoWorkEventArgs e)
{
  _managerNotification.StartExecution();
  ...
  //string text = t1.TransformText();
  _managerNotification.StopExecution();
}

но тут же будут крики - да НО!

#24 
Murr_0002 знакомое лицо08.10.17 13:55
Murr_0002
NEW 08.10.17 13:55 
в ответ AlexNek 08.10.17 00:22

но тут же будут крики - да НО!

-----

Нее, не будет - тоже самое для Т2, плс...

#25 
AlexNek патриот08.10.17 14:36
AlexNek
NEW 08.10.17 14:36 
в ответ Murr_0002 08.10.17 13:55
тоже самое для Т2, плс...

Это те которые гуляют сами по себе и никому ничего не говорят? См. начало предыдущего ответа спок

#26 
Murr_0002 знакомое лицо08.10.17 14:47
Murr_0002
NEW 08.10.17 14:47 
в ответ AlexNek 08.10.17 14:36

Это те которые гуляют сами по себе

-----

Это те, которыми рулят другие шаблоны, а не Менеджер.


и никому ничего не говорят?

-----

Ну а как они должны говорить? Сам же говоришь - помню, что там что билли сделал, то и работает... влезть - низзя...

Но в базовый класс - можно - решение там...

#27 
AlexNek патриот08.10.17 15:24
AlexNek
NEW 08.10.17 15:24 
в ответ Murr_0002 08.10.17 14:47
Это те, которыми рулят другие шаблоны, а не Менеджер.

опять по кругу... - в потоки можно закинуть шаблоны которые не имеют зависимостей или которые можно синхронизировать.

Поэтому кидаем в поток только "главный шаблон". В принципе именно он и может знать какие его детишки могут работать впаралель, но так как он никому об этом не говорит....

Ну или со сборщиком файлов можешь развлечься.

#28 
Murr_0002 знакомое лицо08.10.17 19:58
Murr_0002
NEW 08.10.17 19:58 
в ответ AlexNek 08.10.17 15:24

Поэтому кидаем в поток только "главный шаблон". В принципе именно он и может знать какие его детишки

-----

Я, в принципе, не знаю и, в принципе, не хочу знать ничего не нужного об шаблонах.

В частности, не хочу знать какие задачи и каким методом они решают.

Нужное - есть конструктор без параметров и есть метод ТехтТрансформ() - Я знаю.

Еще есть стек с параметрами. Это - все, что Я знаю об шаблонах. Другое - не нужно -

оно создает ненужную сложность в написании шаблонов.

Есть 20-30 "главных шаблонов" - с ними работает Менеджер - распределяет имеющиеся ресурсы

и отдает свободному работнику.


могут работать впаралель

-----

Да не надо им работать в паралель. В паралель идут 10 из 20-30 "главных шаблонов" -

этого вполне хватает.


В суб-шаблонах идет генерация "тел методов".

Мягко говоря, если определен шаблон для класса А, имплементирующего интерфейс Б с

методами Ц и Д, то стоит написать шаблоны ТА, ТЦ, ТД. При желании - добавить ТБ.

Смысла выполнять ТЦ и ТД где-то параллельно с ТА нет никакого.

Ну а ТА и ТБ - "главные шаблоны" - ими будет заниматься Менеджер.


То, что мне нужно сейчас, выглядит так: ТБ не является "главным шаблоном", а вызывается

их ТА. Тем не менее, то, что сгенерилось после его вызова должно лечь в отдельный файл.

Т.е. нужно сообщить Менеджеру - "записать результат в файл"...

И проблема именно в том, что нельзя влезть в код сгенерированный для шаблона...

#29 
AlexNek патриот08.10.17 20:53
AlexNek
NEW 08.10.17 20:53 
в ответ Murr_0002 08.10.17 19:58
То, что мне нужно сейчас, выглядит так

Если думаешь что прояснил ситуацию - то это далеко не так.


ТБ вызывается из ТА - значит никаких параметров от ТБ мы не знаем. Как можно записать в файл то что неизвестно?


Да не надо им работать в паралель. В паралель идут 10 из 20-30 "главных шаблонов"

вообще то с этого и следовало начать смущ

#30 
Murr_0002 знакомое лицо08.10.17 21:34
Murr_0002
NEW 08.10.17 21:34 
в ответ AlexNek 08.10.17 20:53

значит никаких параметров от ТБ мы не знаем.

-----

Неа, не знаем... и слава богу что не знаем - они не мешают делать работу правильно.

Об нем мы знаем указанные вещи - конструктор без параметров и один метод - т.е. - знаем достаточно.


Как можно записать в файл то что неизвестно?

-----

А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.

Я думал об байт-аррай, но решил пока остаться в тексте. Поменять можно позднее, это не сложно...


вообще то с этого и следовало начать

-----

Так оно давно написано и несколько раз повторено. Наконец - еще и понято. спок

#31 
AlexNek патриот08.10.17 22:21
AlexNek
NEW 08.10.17 22:21 
в ответ Murr_0002 08.10.17 21:34
А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.

ладно, не будем узнавать как то, что ТА вызвал ТБ стало известно манагеру (и кто такой Рабочий). Но если стало известно, то в чем проблема записать енто в файл?


Так оно давно написано и несколько раз повторено

Странно, как то не заметил смущ


Наконец - еще и понято.

Вот в этом вы батенька глубоко ошибаетесь.

Я уж давно не пытаюсь сложить общей картины из твоих задачек, потому как ни разу еще не получилось хммм

Пользуем то чем кормят.

#32 
Murr_0002 знакомое лицо08.10.17 23:30
Murr_0002
NEW 08.10.17 23:30 
в ответ AlexNek 08.10.17 22:21

не будем узнавать как то, что ТА вызвал ТБ стало известно манагеру

------

В том то и дело, что еще не стало известно. Равно как не решено надо ли и как сообщать тоже самое об ТА.

Сделать это и есть текущая задача...


Все, бай-бай пора...

#33 
AlexNek патриот08.10.17 23:47
AlexNek
NEW 08.10.17 23:47 
в ответ Murr_0002 08.10.17 23:30
Я и решаю одну проблему - текущая задача - сообщить Менеджеру два факта:
Сделать это и есть текущая задача...

что то часто меняются текущие задачи смущ


А это как раз известно - по окончании оно сложено в зашаренный (тот самый, что Манагер отдал Рабочему) стрингбилдер.
В том то и дело, что еще не стало известно.

Так - или спать или запутывать бебе

#34 
1 2 все