Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Придумал свою систему разработки ПО   Найти похожие ветки 

 
Кое кто   (2008-12-21 16:48) [0]

Хотя может такое уже и есть?? Вообщем программа
записываеться в виде таблицы, где столбцы это
отдельные потоки, а каждая строка - это определенный квант времени
Например:

C = A + B | G = A*C
         | D = A*G
_____________________
H = I     | B = I
         |
Здесь C = A + B выполняеться в первом потоке и в этот же момент выполняеться
2 операции G = A*C D = A*G... При этом отдельные ячейки кода могут
также представлять собой такие таблицы... Отдельные прямоугольники
можно выделить как функцию и потом вставлять в других местах...
Хотелось бы услышать ваше мнение?


 
DVM ©   (2008-12-21 16:58) [1]


> а каждая строка - это определенный квант времени

как понимать записанные в одной и той же строке, но в разных столбцах разные команды, на одноядерном процессоре?


 
Кое кто   (2008-12-21 16:59) [2]

DVM ©   (21.12.08 16:58) [1]
2как понимать записанные в одной и той же строке, но в разных столбцах разные команды, на одноядерном процессоре?
Это уже дело компилятора, как скомпоновать...


 
DVM ©   (2008-12-21 17:14) [3]


> Это уже дело компилятора, как скомпоновать...

но мы то записывая их таким образом, рассчитываем на параллельное исполнение? Иначе какой смысл?


 
Кое кто   (2008-12-21 17:22) [4]

2DVM ©   (21.12.08 17:14) [3]
Она выполняеться также, как и многопоточная программа на Delphi на одноядерном процессоре...


 
DVM ©   (2008-12-21 17:24) [5]


> как и многопоточная программа на Delphi на одноядерном процессоре

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


 
asail   (2008-12-21 17:26) [6]


> но мы то записывая их таким образом, рассчитываем на параллельное
> исполнение? Иначе какой смысл?

Какой смысл не знаю, но можно добавить, что, даже на 2-х процессорах время выполнения A+B может быть не равно для A*C...
Хотя, обойти это можно с помощью ожидания: выполнил 1-й поток 1-ю строчку и ждет пока все остальные не отрапортуют об исполнении 1-й строчки тоже... Но смысла тоже не вижу...


 
Кое кто   (2008-12-21 17:27) [7]

2DVM ©
Для процессора, конечно, нет... Для ОС да...


 
DVM ©   (2008-12-21 17:33) [8]


> Кое кто

Т.е. твое ноу-хау это именно такая запись в виде таблицы?


 
Городской Шаман   (2008-12-21 17:37) [9]


> Кое кто   (21.12.08 16:48)  


Erlang
Главное в Erlang — его модель легковесных процессов. Перефразируя для Erlang слоган текущего дня «Everything is an object» («Всё является объектом»), можно сказать «Everything is a process» («Всё является процессом»).

Процессы дёшевы, создание процесса занимает не больше ресурсов, чем вызов функции. Единственным способом взаимодействия процессов является асинхронный обмен сообщениями.

При желании процесс может установить связь (link) с другими процессами и по выбору или получить сообщение о их смерти с указанием причины или разделить их участь.

Процесс имеет свой «почтовый ящик», откуда может выборочно читать сообщения, в чём очень помогает сопоставление по шаблону, код проверки «ящика» чем-то похож на программу на awk, нужное выгребается и обрабатывается, остальное остаётся или выбрасывается.


http://ru.wikipedia.org/wiki/Erlang


 
Кое кто   (2008-12-21 17:38) [10]

2asail
Естественно, это компилятор берёт на себя... В данном случае, в программе, которую я написал первая строка второго потока выполняеться дольше, чем
первая строка первого потока...Значит после выполнения первой команды первый поток ждет пока все остальные потоки не завершат выполнение команд данной строки...


 
Кое кто   (2008-12-21 17:42) [11]

2DVM
Т.е. твое ноу-хау это именно такая запись в виде таблицы?

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



Страницы: 1 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
15-1225125372
oxffff
2008-10-27 19:36
2009.02.15
Новости Delphi PRISM


15-1229629312
DVM
2008-12-18 22:41
2009.02.15
А нет ли случаем такого готового класса?


2-1230902844
FEV
2009-01-02 16:27
2009.02.15
Формат файлов ASF


2-1231410906
EastGod
2009-01-08 13:35
2009.02.15
Альтернативные потоки файлов


15-1229364848
Anatoly Podgoretsky
2008-12-15 21:14
2009.02.15
Касперский спамит