|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2013, 20:14 | #11 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
короче это подпрограмма, работающая по принципам dataflow.
Статью на вики писал какой-то наркоман Цитата:
А вот про несколько точек входа я ниче не понял, имеются ввиду несколько точек, а выбор между ними выполнится через охраняющие выражения? (ну или типа того) - если да - то это все равно одна точка входа. |
|
19.10.2013, 00:12 | #12 | |||||
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
PS например задача есть два бинарных дерева. При их post-order обходе мы собираем значения в листах. Нужно определить, будут ли равны собранные векторы значений. Мой псевдокод: цикл пока есть листы вызвать корутину1, передать ей дерево1 - вернет значение в листе вызвать корутину2, передать ей дерево2 - вернет значение в листе если значения не равны - выходим Фишка корутины - при каждом следующем вызове она продолжает выполняться с места, где остановилась, а значит при каждом следующем вызове будет возвращать значение в следующем листе дерева. А теперь прошу всех противников корутин привести более читабельный код без них. |
|||||
19.10.2013, 00:23 | #13 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Чёрт, от начала создания темы, уже больше "века" прошло. Пытался найти в своих загашниках код, не помню где лежит. Пока голословно.
В приведённом примере, это "минимальный супервизор". В отличии от "настоящего" в нём не имеется привелигированного процесса, который и определяет всю работу "многозадачной" системы. В данном случае, нет создания кванта, как и его контроля. Собственно, процесс, получивший доступ к супервизору, автоматически становится привелегированным.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
19.10.2013, 05:57 | #14 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
цикл пока есть листы
вызвать процедуру1, передать ей дерево1 - вернет значение в листе вызвать процедуру1, передать ей дерево2 - вернет значение в листе если значения не равны - выходим Код намного читабельней и понятней. Но на самом деле я бы не заморачивался сбором значений в лист, если требуется исключительно сравнение. И задача тоже не понятна . Речь идет о листах по отношению к дереву или о листах по отношению к какому-либо узлу? Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 19.10.2013 в 06:10. |
|||
19.10.2013, 11:55 | #15 | ||
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
Цитата:
Многим и сами плюсы не понятны, это же не причина от них отказываться, не так ли?) Так где оно - более простое? Попробуйте его написать и сюда выложить, хотя бы псевдокод. Последний раз редактировалось still_alive; 19.10.2013 в 11:57. |
||
19.10.2013, 16:11 | #16 | ||||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Ну повторю еще раз: Цитата:
Цитата:
ЗЫ. По коду из примера там нет описания узла, вероятно оно берется из какой-то стандартной библиотеки. Я ведь не зря просил уточнить задачу. Почему, потому что работал над некоторыми вопросами связанными с деревьями. В своем проекте мои узлы хранятся в едином динамическом массиве и имеют сведения о родительском узле и корневом узле (родоначальнике дерева). И если задача стоит сравнить листы (а я ведь про это тоже спрашивал), то задача становится тривиальной с помощью цикла и условий.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 19.10.2013 в 16:21. |
||||||
19.10.2013, 17:21 | #17 | ||
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
Цитата:
|
||
19.10.2013, 20:51 | #18 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
20.10.2013, 22:53 | #19 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Непрозрачную концепцию можно один раз засунуть в библиотеки и потом использовать через пару слоёв абстракции, как это случилось с greenlet — на его основе написали gevent, который используется в gUnicorn (веб-сервер, умеющий в том числе работать асинхронно, у меня на нём сайт крутится )
пыщь
|
21.10.2013, 07:54 | #20 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
JTG ага, и в юнити эта штука используется.
http://www.altdevblogaday.com/2011/0...nes-in-detail/ Вообщем эмуляция многопоточности, без использования тяжеленных непредсказуемых тредов. |